로깅 모듈 설치
먼저, 로깅을 위해 logging
모듈을 설치해야 합니다. 만약 설치되어 있지 않다면, 다음 명령을 사용하여 설치할 수 있습니다:
pip install logging
로깅 레벨 설정
로깅에는 다양한 레벨이 있으며, 각 레벨에 해당하는 메시지만 로깅에 남기도록 설정할 수 있습니다. 일반적인 로깅 레벨은 다음과 같습니다:
DEBUG
: 가장 상세한 정보를 로깅합니다. 개발 및 디버깅 목적으로 사용됩니다.INFO
: 일반적인 정보를 로깅합니다. 프로그램 실행 과정의 주요 이벤트를 추적하는 데 사용됩니다.WARNING
: 경고 메시지를 로깅합니다. 프로그램 실행 중 문제가 될 수 있는 사항에 대해 경고하는 데 사용됩니다.ERROR
: 오류 메시지를 로깅합니다. 실행 중 발생한 심각한 오류에 대해 로깅합니다.CRITICAL
: 치명적인 오류 메시지를 로깅합니다. 프로그램의 실행이 중단되는 치명적인 오류에 대해 로깅합니다.
일반적으로 배포 버전의 패키지에서는 INFO
레벨 이상의 메시지만 로깅에 남기도록 설정하면 됩니다. 이를 위해, 다음과 같이 로깅 레벨을 설정할 수 있습니다:
import logging
logging.basicConfig(level=logging.INFO)
위 코드는 기본 로거에 INFO
레벨로 설정된 핸들러를 추가하는 것입니다.
로그 파일 생성
로깅된 메시지를 파일에 기록하려면 로그 파일을 생성해야 합니다. 로그 파일을 생성하는 가장 간단한 방법은 다음과 같습니다:
import logging
logging.basicConfig(filename='logfile.log', level=logging.INFO)
위 코드는 로그 파일을 logfile.log
로 설정하고, INFO
레벨의 메시지만 파일에 기록합니다. 마찬가지로, 배포 버전의 패키지에서는 INFO
레벨 이상의 메시지만 파일에 기록하도록 설정할 수 있습니다.
로깅 메시지 출력
로깅된 메시지를 출력하려면 로거(logger) 객체를 사용해야 합니다. 로거 객체를 생성하고 메시지를 로깅하는 코드는 다음과 같습니다:
import logging
logger = logging.getLogger(__name__)
logger.info('This is an info message')
위 코드는 __name__
을 로거 이름으로 사용하고, INFO
레벨의 메시지를 로깅합니다. 만약 logfile.log
파일에도 메시지를 동시에 기록하려면, 다음과 같이 핸들러를 추가해주어야 합니다:
import logging
logger = logging.getLogger(__name__)
# 파일 핸들러 추가
file_handler = logging.FileHandler('logfile.log')
file_handler.setLevel(logging.INFO)
logger.addHandler(file_handler)
logger.info('This is an info message')
위 코드는 logfile.log
파일에 INFO
레벨 이상의 메시지를 기록하기 위해 파일 핸들러를 추가하고, 메시지를 로깅합니다.
이제 여러분은 로깅 설정을 적용하여 파이썬 패키지를 개발하고 배포할 때, 로깅을 효과적으로 사용할 수 있습니다. 로깅을 통해 코드 실행 과정을 추적하고, 오류를 신속하게 발견하고 해결할 수 있습니다.
참고 자료
- 파이썬 로깅 모듈 공식 문서: https://docs.python.org/3/library/logging.html