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 로깅 레벨