Java Logging Levels (log4j - 로그레벨) 총정리
java debugging을 할 때 꼭 필요한 것이 log 이다.
특히 운영 서비스에서 무엇인가 오류가 생겼을 때 필히 확인해야 하는 것이 로그라서 로그를 어느 레벨까지 찍을 것 인지에 대한 고민이 생긴다.
로그 레벨은 크게 7단계로 분류된다.
1. ALL
2. DEBUG
3. INFO
4. WARN
5. ERROR
6. FATAL
7. OFF
1-> 7 로 갈수록 점점 높은 레벨의 로그 단계를 의미한다.
즉,
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
이 레벨로 분류가 된다고 할 수 있다.
흔히 우리가 logger.debug, logger.info 이런 식으로 사용하는데 로그 레벨의 차이라고 볼 수 있다.
log의 경우
org.apache.log4j library에서 import해서 사용하고 원하는 로그 레벨을 먼저 지정하면 그 상위 로그 레벨이 로그로 출력되는 구조이다.
그래서 ALL 이 가장 낮은 log level이고 OFF가 가장 높은 log level이라고 할 수 있다.
ALL로 log level을 세팅하면 ALL 위의 모든 로그가 출력되니 ALL,
OFF로 log level을 세팅하면 OFF 위의 모든 로그가 출력되니 출력되는 것이 없어 OFF라고 생각하면 이해하기 편하다.
결과값은 어떻게 될까!
log.setLevel(Level.INFO)를 통해
INFO 레벨 위에 있는 (INFO 레벨 포함) 메세지를 로그로 출력하니 info, warn, error, fatal 단계가 출력될 것이다. 결과값은 아래와 같다.
적절한 로그 레벨을 설정하여 과도하게 로그가 쌓이지 않고 꼭 필요한 로그들을 적절히 볼 수 있도록 메세지를 적자.