Python으로 만든 서비스에 매일 새로운 로그파일 생성

Python DEVELOPMENT IT

python으로 만든 간단한 서비스에 파일로 간단히 로깅을 해야하는 일이 생겨서 정리해본다.

Python에서 logging 모듈을 사용하여 로그를 저장할 수 있으며, TimedRotatingFileHandler을 사용하여 로그 파일을 일자별로 생성할 수 있다.

import logging
from logging.handlers import TimedRotatingFileHandler
import os

def setup_logging():
    if not os.path.exists('logs'):
        os.makedirs('logs')
    
    log_format = "%(asctime)s - %(message)s"
    log_handler = TimedRotatingFileHandler("logs/%Y-%m-%d.log", when="midnight", interval=1)
    log_handler.suffix = "%Y-%m-%d.log"
    log_handler.setFormatter(logging.Formatter(log_format))
    
    logger = logging.getLogger()
    logger.setLevel(logging.INFO)
    logger.addHandler(log_handler)
    return logger

logger = setup_logging()

#로깅이 필요한 곳에 아래와 같이 작성하면 logs 폴더 하위에 매일 새로운 파일명으로 로그가 쌓이게 된다.
logger.info("This is logging messages")