목차
1. logging 모듈이란?
logging 모듈은 파이썬에서 로깅 기능을 제공하는 표준 라이브러리입니다.
이를 사용하여 프로그램 실행 중에 발생하는 정보, 경고, 오류 등의 로그를 생성하고 관리할 수 있습니다.
로그는 프로그램의 동작 상태를 추적하고, 디버깅하거나 문제를 파악하는 데 유용합니다.
2. 로깅 레벨 설정 예제
로그 레벨은 로그의 중요도에 따라 다양한 단계로 구분되며, 원하는 로그 레벨을 설정하여 해당 레벨 이상의 로그만 출력하도록 할 수 있습니다.
import logging
logging.basicConfig(level=logging.INFO)
3. 로깅 메시지 출력 예제
다양한 레벨의 로그 메시지를 출력하는 예제입니다.
import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug('이 메시지는 디버깅을 위한 메시지입니다.')
logging.info('정보를 표시하는 메시지입니다.')
logging.warning('경고 메시지입니다. 처리할 필요가 있을 수 있습니다.')
logging.error('에러가 발생했습니다. 애플리케이션 동작에 문제가 있을 수 있습니다.')
logging.critical('심각한 에러가 발생했습니다. 애플리케이션 동작에 영향을 미칠 수 있습니다.')
4. 로깅 메시지 날짜 포맷 설정 예제
로그 메시지에 출력될 정보를 포맷하는 방법을 설정하는 예제입니다.
import logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logging.info('이 메시지에는 날짜와 시간, 로그 레벨이 포함됩니다.')
5. 파일로 로그 저장하기 예제
로그를 파일로 저장하는 예제입니다.
로그가 증가하면서 파일이 커지는 경우, 로그를 로테이션하여 파일 크기를 제한할 수 있습니다.
import logging
from logging.handlers import RotatingFileHandler
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
#로그 파일 생성
file_handler = RotatingFileHandler('/tmp/test.log', maxBytes=1024, backupCount=3)
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
#로거에 핸들러 추가
logger = logging.getLogger('my_logger')
logger.addHandler(file_handler)
#로그 출력
logger.info('로그 파일로 저장되는 로그입니다.')
위의 예제 코드들은 파이썬 logging 모듈을 사용하여 로그를 생성하고 관리하는 방법들을 보여줍니다.
적절한 로그 레벨, 메시지 포맷, 로그 저장 방식을 설정하여 효과적으로 로깅을 관리할 수 있습니다.
반응형