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")