더북(TheBook)

11.1.2 Log4j의 구조와 로깅 레벨

Log4j를 이용하여 로그를 기록하려면 먼저 Log4j의 구조와 로깅 레벨(logging level)을 이해할 필요가 있습니다. Log4j 구조는 크게 logger, appender, layout으로 세 가지 요소로 구성되어 있습니다. 이를 통해 매우 손쉽게 다양한 형태로 로깅할 수 있고, 로깅 레벨을 지정하여 해당 레벨 이상만 로깅할 수 있습니다.

 

 

logger

logger는 Log4j에서 지원하는 핵심 클래스로, 로깅 레벨은 다음과 같습니다. 로그 출력 여부는 로깅 레벨에 따라 결정되며, 로그 정보는 appender에 전달됩니다.

다음은 로그 정보를 출력할 때 설정하는 로깅 레벨입니다.

▼ 표 11-1 Log4j의 로깅 레벨

레벨

설명

FATAL

조기 종료를 유발하는 심각한 오류가 발생한 상태를 나타냅니다.

ERROR

기타 런타임 오류 또는 예기치 않은 상태를 나타냅니다.

WARN

사용되지 않는 API 사용, API의 사용 빈도, 오류, 바람직하지 않거나 예기치 않은 런타임 상황의 경고성 메시지를 나타냅니다.

INFO

시작, 종료 같은 런타임 이벤트 메시지를 나타냅니다.

DEBUG

디버그 용도로 시스템 흐름에 대한 자세한 정보를 나타냅니다.

TRACE

가장 하위 로깅 레벨로, 모든 로그에 대한 상세한 정보를 나타냅니다.

로깅 레벨은 TRACE < DEBUG < INFO < WARN < ERROR < FATAL 순으로 레벨이 높으며, 로그를 출력할 때 설정한 레벨 이상의 로그 정보가 출력됩니다. 예를 들어 INFO 레벨 이상을 출력한다면 INFO, WARN, ERROR, FATAL의 로그까지 출력됩니다.

▲ 그림 11-1 로깅 레벨

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.