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
'Logging' 카테고리의 다른 글
[Logging] Python(Fast API)에서 로그를 생성하고 ELK로 로그 테스트 환경 구축 (1) | 2022.10.08 |
---|---|
좋은 로그(Log)에 대하여 (2) | 2022.10.07 |