Log Level 관리 방법
logback.xml파일을 resources 디렉토리에 만들어서 참조한다.
logback-spring.xml 파일을 resources 디렉토리에 만들어서 참조한다.
1) classpath(resources디렉토리 밑)에 logback-spring.xml파일이 있으면 설정파일을 읽어간다.
2) logback-spring.xml파일이 없다면 .yml(.properties)파일의 설정을 읽어간다.
3) logback-spring.xml파일과 .yml(.properties)파일이 동시에 있으면 .yml(.properties) 설정 파일을 적용 후 xml파일이 적용된다.
위에서 얘기한 대로 스프링 부트 에서는 logback-spring.xml을 사용해서 Spring이 logback을 구동할 수 있도록 지원해 주며 이를 이용하여 profile, 즉 배포 환경에 따른(spring.profiles.active을 활용하여) application.xml에 설정된 properties를 읽어올 수 있다.
ex) spring.profiles.active=locallogback-local.properties => console-logginglogback-dev.properties => file-logginglogback-prod.properties => file-logging,remote-logging
1) ERROR : 요청을 처리하는 중 오류가 발생한 경우 표시한다.
2) WARN : 처리 가능한 문제, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타낸다.
3) INFO : 상태변경과 같은 정보성 로그를 표시한다.
4) DEBUG : 프로그램을 디버깅하기 위한 정보를 표시한다.
5) TRACE : 추적 레벨은 Debug보다 훨씬 상세한 정보를 나타낸다.
로그에 설정할 수 있는 레벨은 총 5가지다.
위의 순서대로 높은 레벨을 가진다. 출력 레벨의 설정에 따라 설정 레벨 이상의 로그를 출력 한다.
예를 들어 로깅 레벨 설정을 "INFO"로 하였을 경우 "TRACE", "DEBUG" 레벨은 무시한다.
※ 스프링 부트에서는 간단히 application.properties에 값만 세팅해도 설정 가능 하다.
ex1) 루트 레벨(전체 레벨) 전체 로깅 레벨 지정
logging.level.root=info
ex2) 패키지별로 로깅 레벨 지정
logging.level.com.god.bo.test=info
logging.level.com.god.bo.test.controller=debug