본문 바로가기

Logging

[Logging] 로그 레벨

0. 들어가며

로그 레벨은 로그 메시지에 포함된 메시지의 중요성과 긴급성에 대한 대략적인 정보라고 할 수 있다.

 

 

1. 로그 레벨 (== 심각한 정도)

LevelValueWhen to use

Level Value When To Use
DEBUG 10 (주로 문제 해결을 할 때 필요한) 자세한 정보.
INFO 20 작업이 정상적으로 작동하고 있다는 확인 메시지.
WARNING 30 예상하지 못한 일이 발생하거나, 발생 가능한 문제점을 명시. (e.g. ‘disk space low’) 작업은 정상적으로 진행.
ERROR 40 프로그램이 함수를 실행하지 못 할 정도의 심각한 문제.
CRITICAL 50 프로그램이 동작할 수 없을 정도의 심각한 문제.

 

Python은 기본적으로 warning 레벨이 디폴트 값이므로 이하의 레벨은 로그가 생성되지 않는다.

그래서 python 내부 코드 또는 로깅 config 설정 파일에서 디폴트 값을 변경해주고, 필요에 따라 부분적으로 레벨을 변경해줄 수 있다.

 

상황 방법
일반적인 console 출력 print()
프로그램의 실행 중 발생하는 정상적인 이벤트 알림 logging.info()
(진단 등을 위한) 자세한 수준의 로그인 경우에는 logging.debug()
런타임 중 발생한 이벤트와 관련하여 경고 사용자가 프로그램을 수정해서 문제를 해결할 수 있는 경우 warnings.warn()
사용자가 처리할 수 있는 문제가 아닌 경우 logging.warning()
런타임 중 발생한 이벤트와 관련한 에러 예외 처리 (raise Exception)
발생한 예외를 suppress하고 raise 하지 않은 경우 (e.g. long-running 서버 프로세스에서 에러 발생 시) logging.error(), logging.exception(), logging.critical()

 

 

 

 

 

 

[참고]

https://docs.python.org/3.7/howto/logging.html#when-to-use-logging