안녕하세요! 재아군의 관찰인생 입니다.
Spring Boot 프로젝트를 운영하다 보면 로그가 중간에 잘려서 출력되는 문제를 한 번쯤은 겪게 됩니다.
특히 대용량 JSON 응답이나 StackTrace 분석 시 로그가 잘리면 원인 파악이 어려워지죠.
오늘은 Spring Boot 로그 잘림 해결 방법을 콘솔, 파일, IDE 기준으로 완전 정리해보겠습니다.

Spring Boot 로그 잘림이란?
- 공식 문서: https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging
Spring Boot는 기본적으로 Logback을 사용합니다.
하지만 실제 로그 잘림은 대부분 다음 원인에서 발생합니다.
- IDE 콘솔 출력 제한
- Logback 패턴 길이 제한
- OS 콘솔 버퍼 제한
- JSON 직렬화 길이 제한
📢 최신 Spring Boot 3.x에서도 기본 로깅 구조는 동일하며, Logback 설정으로 대부분 해결 가능합니다.
다른 도구와의 비교
| Spring Boot | Logback | application.yml / logback.xml | 가능 | 쉬움 |
| Log4j2 | Log4j2 | log4j2.xml | 가능 | 중간 |
| System.out | JVM 기본 출력 | 없음 | 제한적 | 매우 쉬움 |
| Docker 환경 | 컨테이너 로그 | docker logs | 버퍼 제한 있음 | 중간 |
설치 방법
사전 체크리스트
- Spring Boot 2.x 이상
- IDE 콘솔 설정 확인
- logback-spring.xml 사용 여부 확인
OS별 설치
방법 1: logback-spring.xml 설정 (권장)
src/main/resources/logback-spring.xml
<configuration>
<property name="LOG_PATTERN"
value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${LOG_PATTERN}</pattern>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
👉 %logger{50} 숫자를 늘리면 패키지명 잘림 방지 가능
방법 2: IntelliJ 콘솔 제한 해제
- Settings → Editor → General → Console
- Override console cycle buffer size 체크
- 값 증가 (예: 10240KB → 51200KB)
특히 IntelliJ 사용자는 콘솔 버퍼 때문에 로그가 잘리는 경우가 가장 많습니다.
사용 방법 / 기본 명령어
JSON 로그 길이 늘리기
logging:
pattern:
console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
Jackson 직렬화 길이 제한 해제
log.info("response = {}", objectMapper.writeValueAsString(response));
활용 시나리오 (실전 예시)
시나리오 1: 대용량 API 응답 로그 분석
log.info("response = {}", objectMapper.writeValueAsString(response));
✔ 해결: IDE 콘솔 버퍼 증가 + 파일 로그 병행 사용
시나리오 2: StackTrace가 중간에 잘리는 경우
logging: level: root: DEBUG
✔ 해결: 파일 로그로 분리 저장
시나리오 3: Docker 환경에서 로그 잘림
docker logs --tail 1000 container_name
✔ 해결: --tail 옵션 증가 또는 로그 드라이버 변경
트러블슈팅
문제 1: 로그가 중간에 ... 으로 표시됨
원인: IDE 콘솔 버퍼 제한
해결:
IntelliJ → Console Buffer Size 증가
문제 2: JSON 로그가 일부만 출력됨
해결:
logging: pattern: console: "%msg%n"
문제 3: 파일 로그도 잘림
해결:
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <maxHistory>30</maxHistory> </rollingPolicy>
자주 묻는 질문 (FAQ)
Q1. Spring Boot 기본 로그 프레임워크는 무엇인가요?
A. 기본적으로 Logback을 사용합니다.
Q2. application.yml로 해결 가능한가요?
A. 간단한 패턴 변경은 가능하지만, 완전한 제어는 logback-spring.xml이 필요합니다.
Q3. 운영 환경에서는 어떻게 설정하는 게 좋나요?
A. 콘솔 로그 최소화 + 파일 로그 분리 + 로그 레벨 환경별 관리가 좋습니다.
Q4. StackTrace가 너무 길면 어떻게 하나요?
A. 파일 로그에 저장하고 Kibana/CloudWatch 같은 로그 수집 도구 사용을 권장합니다.
참고 자료
- Spring Boot 공식 문서
https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.logging - Logback 공식 사이트
https://logback.qos.ch/manual/index.html
로그는 곧 시스템의 건강 상태입니다.
잘리지 않는 로그 환경을 만들어두면, 장애 대응 속도가 완전히 달라집니다.
다음 글에서는 Spring Boot 운영 환경 로그 전략을 정리해보겠습니다.
'개발&프로그래밍' 카테고리의 다른 글
| [Gradle GC] 가비지 컬렉터 설정 방법 - 빌드 시간의 숨은 병목, GC 튜닝으로 9~20% 추가 개선 (0) | 2026.02.20 |
|---|---|
| [Gradle] 빌드 속도 개선 방법 - 느린 빌드, 설정 하나로 50~70% 단축하기 (0) | 2026.02.19 |
| [JVM] [OutOfMemoryError 해결] - 원인 분석부터 완벽 해결까지 실전 가이드 (0) | 2026.02.18 |
| [Codex] 프롬프트 작성법 - Codex를 200% 활용하는 비법 완전 가이드 (0) | 2026.02.18 |
| [Codex] 설치방법 & 사용방법 - 바이브코딩의 시대, AI와 함께 코딩 시작하기 (0) | 2026.02.17 |
댓글