본문 바로가기
이것저것

Log Level

by 감자b 2024. 12. 27.

로그 레벨(Log Level)

애플리케이션에서 로그 메세지의 중요도를 나타낸 것으로 개발자는 어떤 정보가 중요한지 필터링하고 관리할 수 있도록 한다.

로그 레벨 계층

TRACE > DEBUG > INFO > WARN > ERROR > FATAL 순으로 이루어져 있다.

  • TRACE : 가장 낮은 로그 레벨로, 애플리케이션의 흐름을 상세히 추적하기 위한 메시지를 기록한다.
    • 주로 디버깅 목적으로 사용.
  • DEBUG : 개발 및 디버깅을 위한 정보 메시지를 기록한다.
    • 애플리케이션의 상태나 중요한 변수의 값을 출력하여 문제를 추적하는 용도로 사용.
  • INFO : 애플리케이션의 정상적인 동작을 나타내는 일반적인 정보 메시지를 기록한다.
    • 시스템의 상태나 중요한 이벤트를 기록하는 용도로 사용.
  • WARN : 잠재적인 문제나 경고를 나타내는 메시지를 기록한다.
    • 해결이 필요하지는 않지만, 주의가 필요한 상황을 나타냄.
  • ERROR : 애플리케이션에서 발생한 오류를 나타내는 메시지를 기록한다.
    • 즉각적인 조치가 필요한 상황을 의미.
  • FATAL : 가장 높은 로그 레벨로, 심각한 오류나 시스템의 중단을 나타낸다.
    • 시스템이 정상적으로 동작할 수 없는 상태를 의미

스프링 부트의 경우 기본으로 SLF4J 인터페이스를 구현한 Logback 로깅 라이브러리를 사용하며 레벨은 다음과 같이 설정 가능하다.

보통 개발 서버는 debug, 운영 서버는 info를 출력한다.

logging.level.root=info #기본
logging.level.(패키지명)=debug # 해당 패키지와 하위 로그 레벨 설정