Appearance
Logging Level
자바/스프링 프로젝트에서는 보통 SLF4J를 로깅 API로 사용하고, 구현체로 Logback이나 Log4j2를 붙인다.
특히 Spring Boot 기본 스타터는 별도 변경이 없다면 Logback을 사용한다.
일반적으로 많이 쓰는 로그 레벨
TRACE < DEBUG < INFO < WARN < ERROR
FATAL은 일부 로깅 프레임워크에는 존재하지만, Spring Boot 기본 조합인 SLF4J + Logback에서는 별도 레벨로 쓰지 않는다. 보통 ERROR로 표현한다.
TRACE
가장 상세한 추적 로그다.
- 매우 세밀한 흐름 확인
- 라이브러리 내부 동작 분석
운영 환경에서는 너무 많은 로그가 쌓이기 쉬워 제한적으로 사용한다.
DEBUG
개발자가 디버깅할 때 필요한 상세 정보다.
- 입력값
- 분기 결과
- 내부 상태 변화
INFO
애플리케이션의 주요 흐름을 기록한다.
- 서버 시작/종료
- 주요 비즈니스 이벤트
- 중요한 배치 시작/완료
WARN
즉시 장애는 아니지만 주의가 필요한 상황이다.
- 재시도로 복구된 오류
- 예상치 못한 입력
- 성능 저하 징후
ERROR
요청 실패, 처리 중단, 데이터 손상 가능성처럼 실제 문제 대응이 필요한 상황이다.
- 예외로 인해 기능 수행 실패
- 외부 시스템 연결 불가
- 복구되지 않은 치명적 오류