스프링부트는 기본적으로 commons logging을 사용
스프링 코어를 만들 당시 commons logging을 사용중 이었어서 ...
pom.xml 에서 exclusion시키고 slf4j로 변경할 수 있다. 그치만 의존성 설정을 잘 해놓아야 한다.
로깅 퍼사드 vs 로거
- Commons Logging, SLF4j (로깅 퍼사드)
- 실제 로깅을 하는 것이 아니라 로거 api를 추상화 한 인터페이스
- 로깅 퍼사드의 장점은 아래의 로거들을 바꿔 끼울 수 있음
- JUL, Log4J2, Logback (로거)
결국 초기 스프링 부트 프로젝트의 로그는 Logback이 찍은 것이다!
스프링 5에 로거 관련 변경 사항
exclusion 하지 않아도 안전하게 사용할 수 있도록
- Spring-JCL
- Commons Logging → SLF4j or Log4j2
- pom.xml에 exclusion 안해도 됨
스프링 부트 로깅
- 기본 포맷
- —debug (일부 핵심 라이브러리만 디버깅 모드로)
- —trace (전부 다 디버깅 모드로)
- 컬러 출력: spring.output.ansi.enabled
- 파일 출력: logging.file (파일) 또는 logging.path (디렉토리)
- 기본은 console 에만 출력
logging.path=logs
- 10mb 마다 롤링되고 아카이빙 된다. 설정 가능