이번에 회사에서 로그를 보며 문제를 해결하는 경우가 많이 있었는데 기존의 Logback
설정이 한 파일에 모든 로그가 쌓이도록 되어있었습니다.
매일, 특정 용량까지만 쌓이도록 해두기는 했었지만, 한 파일에 모든 로그가 쌓이니 문제가 생겼을 때 이를 찾기가 상당히 힘들었습니다.
그래서 사수분과 이야기 한 끝에 급한 불만 끄고 Logback
설정을 다듬어 로그를 분리하여 관리하기로 하였습니다.
하지만 저는 이런 설정도 로그 관리도 해본 적이 없기 때문에 본격적으로 설정을 하기 전 미리 공부하여 정리를 해두려 합니다.
Logback
은 Slf4j
이 구현체 중 하나로 로깅을 위한 라이브러리 입니다.
Logback
은 log4j
에 비해 향상된 필터링 정책
, 기능
, 로그 레벨 변경 등
에 대해 서버를 재시작할 필요 없이 자동 리로딩을 지원하기 때문에 최근에는 Logback
을 더 많이 사용합니다.
spring-boot-starter-web
를 사용하면 기본적으로 Logback Dependencies
가 받아집니다.
logback-classic
와 logback-access
모듈을 위한 기반 역할을 하는 모듈입니다.
Appender
, Layout
인터페이스가 이 모듈에 속합니다.
logback-core
에서 확장된 모듈로 logback-core
를 가지며 Slf4j
를 구현합니다.
Logger
클래스가 이 모듈에 속합니다.
logback-classic에 포함된 라이브러리들은 해당 artifact의 올바른 버전 사용이 필요하고, 모두 명시적으로 선언하는 것이 좋기 때문에 이걸 사용할 때는 exclude 해주는 것이 좋다고 합니다.
Servlet Container
와 통합하여 HTTP 액세스
에 대한 로깅 기능을 제공합니다.
웹 애플리케이션 레벨이 아닌 컨테이너 레벨에 설치되어야 합니다.