About me
home
Portfolio
home
📝

logging

날짜
2023/07/19
태그
파이썬
Python의 logging 모듈은 로그 메시지의 중요도에 따라 구분하는 다양한 로그 레벨을 제공한다. 로그 레벨들은 로그 메시지의 중요도를 표현하며, 특정 레벨 이상의 메시지만 기록하도록 설정할 수 있다.
Python의 logging 모듈은 메시지의 중요도에 따라 로그 레벨을 구분한다. 아래 표는 로그 레벨들의 로그 메시지의 중요도를 표현하며, 특정 레벨 이상의 메시지만 기록하도록 설정할 수 있다.
로깅 레벨
설명
DEBUG
시스템의 상세 정보를 로깅합니다. 주로 디버깅에 사용된다.
INFO
시스템이 정상적으로 작동하고 있는지 확인하는데 필요한 정보를 로깅한다.
WARNING
잠재적인 문제를 알린다. 아직은 문제가 아니지만, 미래에 문제가 될 수 있는 사항에 대해 알린다.
ERROR
심각한 문제를 알린다. 프로그램이 요청한 작업을 수행하지 못했음을 알린다.
CRITICAL
아주 심각한 문제를 알린다. 프로그램이 더 이상 작동할 수 없는 상태를 나타낸다.
(로깅 레벨은 default으로 WARNING 이상의 메시지만 로그에 기록되도록 설정되어 있다. DEBUG와 INFO 레벨의 메시지는 기본 설정에서는 로그에 기록되지 않는다.)
로그 레벨을 바꾸려면, logging.basicConfig(level=logging.DEBUG) 혹은 logging.basicConfig (level=logging.INFO)처럼 level 매개변수를 사용해 원하는 레벨을 지정하면 된다. 이렇게 설정하면 지정한 레벨 이상의 메시지만 로그에 기록된다.
Python의 logging 모듈에서 basicConfig(**kwargs) 함수를 통해 기본 로그 시스템을 설정 가능
주요 인자
level: 기본 로그 레벨을 설정. 이 레벨 이상의 중요도를 가진 메시지들만 로그에 기록됨.
filename: 로그 메시지를 출력할 파일 이름을 지정. 이 인자를 지정하지 않으면 로그 메시지는 표준 출력(stderr)으로 전송됨.
filemode: 파일 모드를 지정. 'w'로 설정하면, 기존 로그 파일에 덮어쓰고, 'a'로 설정하면 기존 로그 파일에 추가함.
format: 로그 메시지의 형식을 지정. 문자열에는 특수 문자열 형식 지정을 사용하여 로그 메시지에서 정보를 삽입할 수 있다. 이때, %(asctime)s 형식 지정자를 사용하면 로그 메시지에 이벤트가 발생한 시간을 포함할 수 있다.
import logging logging.basicConfig(format='%(asctime)s: %(message)s', level=logging.INFO) logging.info('This is a log message.')
Python
복사
위의 코드를 실행하면 로그 메시지가 "시간- 레벨 - 메시지" 형식으로 출력된다.
(이때의 ,853ms를 의미한다.)

Next → Thread, Process Pool