프로그래밍/Python
Using Rotating-Logging in Python
bluecandyg
2022. 8. 17. 13:47
- Python 에서 Log 를 생성할 때 사용하는 기본 내장형 모듈
- Linux 기반에서는 많이 사용 : tail -F xxxx.log 식으로 사용하며 모니터링 용으로도 사용함
- 아래 코드는 10Mb 단위의 로그 파일을 최대 5개까지만 생성하여 로그 유지
- 용량 기준으로만 생성되고 삭제되기 때문에 로그량에 따라 최대 갯수를 늘리거나 줄여야함
import logging
from logging.handlers import RotatingFileHandler
# CREATE LOG - GLOBAL PARAMETER
logger = logging.getLogger('xxx')
def setting_logging():
# file max size를 10MB로 설정
file_max_bytes = 10 * 1024 * 1024
# 로그의 출력 기준 설정
logger.setLevel(logging.INFO)
# log 출력 형식
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# log 출력
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
logger.addHandler(stream_handler)
# log를 파일에 출력
# file_handler = logging.FileHandler('./log/xxx_sending.log')
file_handler = RotatingFileHandler('./log/xxx_sending.log', maxBytes=file_max_bytes, backupCount=5)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)
# Using Sample
logger.info('# Zip File Extract START.')
- Result Sample
2021-12-29 08:37:30,162 - xxx - INFO - ######################################
2021-12-29 08:37:31,262 - xxx - INFO - # xxxx Sending PROCESS START.
2021-12-29 08:43:28,117 - xxx - INFO - ######################################
2021-12-29 08:43:30,265 - xxx - INFO - # xxxxx Sending PROCESS START.
2021-12-29 08:43:30,272 - xxx - INFO - # Zip File Search START.
2021-12-29 08:43:30,273 - xxx - INFO - # Total Zip File Search Count : 10