![스프링부트3.2.3 HTTP메세지 로그레벨 변경 (debug->trace)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbr4IiT%2FbtsFGSNWsrP%2FUmspflBfwbyeKfRixNVa1K%2Fimg.png)
스프링부트는 기본적으로는 내장 톰캣의 내부로그와 HTTP요청에 대한 상세한 내용을 표시하지 않는다.
각 로그 레벨에 대해 표시하는 내용은 아래와 같이 오름차순으로 나타내는 정보가 자세하지 않다.
- TRACE
- 가장 상세한 로그 레벨로, 애플리케이션의 실행 흐름과 디버깅 정보를 상세히 기록한다. 주로 디버깅 시에 사용된다.
- DEBUG
- 디버깅 목적으로 사용되며, 개발 단계에서 상세한 정보를 기록한다.
- 애플리케이션의 내부 동작을 이해하고 문제를 분석하는 데 도움을 준다.
- INFO
- 정보성 메시지를 기록한다.
- 애플리케이션의 주요 이벤트나 실행 상태에 대한 정보를 전달한다.
- WARN
- 경고성 메시지를 기록한다.
- 예상치 못한 문제나 잠재적인 오류 상황을 알리는 메시지이다.
- 애플리케이션이 정상적으로 동작하지만 주의가 필요한 상황을 알려준다.
- ERROR
- 오류 메시지를 기록한다.
- 심각한 문제 또는 예외 상황을 나타내며, 애플리케이션의 정상적인 동작에 영향을 미칠 수 있는 문제를 알린다.
- FATAL
- 가장 심각한 오류 메시지를 기록한다.
- 애플리케이션의 동작을 중단시킬 수 있는 치명적인 오류를 나타낸다.
- 일반적으로 이러한 오류는 복구가 불가능하거나 매우 어려운 상황을 의미한다.
보통 기본은 INFO 레벨이며 개발 단계에서는 주로 DEBUG레벨을 설정하는데 그중에서 스프링부트에서 HTTP요청에 대한 로그를 보는 경우는 아래와 같이 설정했었다.
application.properties
logging.level.org.apache.coyote.http11=debug
하지만 최근 스프링부트 버전 (3.2.3)에서 확인한 바로는 debug 레벨로 설정 시 로그를 볼 수 없었는데,
스프링부트의 내장 톰캣이 업데이트되면서 라이브러리에 변경점이 생겨 로그 레벨이 변경된 것이 이유였다.
아래와 같이 설정해야 한다. (debug -> trace)
logging.level.org.apache.coyote.http11=trace
이후 확인하면 아래와 같이 HTTP요청에 대한 로그가 나온다.
스프링부트 3.2.3의 현재 내장 톰캣의 버전을 확인해보면 10.1.19이다. ( 외부 라이브러리 항목을 통해 확인 가능 )
아파치-톰캣 10.1.19 버전의 changelog를 통해서 알 수 있었다. (#링크)
그리고 라이브러리 변경사항을 코드로 확인하셨다는 김영한강사님의 댓글도 찾을 수 있었다. (#링크)
변경사항을 직접 코드로 확인할 생각은 못했는데.. 한수 배웁니다.
이와 같은 현상에 궁금증을 가진 글이 stackoverflow에도 있었고, 답변 달아주신 분이 계셨다. (#링크)
끝.
'Backend > Spring' 카테고리의 다른 글
빈 스코프(Bean Scope)와 스코프가 다른 빈 주입 (0) | 2023.12.27 |
---|---|
빈 생명 주기(Bean Life Cycle)와 콜백(callback) (0) | 2023.12.24 |
@Autowired 빈 설정 방식 (+ @Qualifier, @Primary) (0) | 2023.12.22 |
다양한 의존관계 주입 방법 (생성자 주입을 선택해야 하는 이유) (0) | 2023.12.18 |
스프링 빈 설정하는 방법 (XML, @Configuration, @Component) (1) | 2023.12.17 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!