我正在尝试实现 python 日志记录处理程序 TimedRotatingFileHandler
。
当它滚动到午夜时,它会以 YYYY-MM-DD
的形式附加当前日期。
LOGGING_MSG_FORMAT = '%(name)-14s > [%(levelname)s] [%(asctime)s] : %(message)s'
LOGGING_DATE_FORMAT = '%Y-%m-%d %H:%M:%S'
logging.basicConfig(
level=logging.DEBUG,
format=LOGGING_MSG_FORMAT,
datefmt=LOGGING_DATE_FORMAT
)
root_logger = logging.getLogger('')
logger = logging.handlers.TimedRotatingFileHandler("C:\\logs\\Rotate_Test",'midnight',1)
root_logger.addHandler(logger)
while True:
daemon_logger = logging.getLogger('TEST')
daemon_logger.info("SDFKLDSKLFFJKLSDD")
time.sleep(60)
创建的第一个日志文件名为 Rotate_Test
,然后在滚动到第二天后将文件名更改为 Rotate_Test.YYYY-MM-DD
,其中 YYYY-MM-DD
是当前日期。
我怎样才能改变它改变文件名的方式?
最佳答案
“我怎样才能改变它改变文件名的方式?”
由于没有记录,我选择阅读源代码。这是我通过阅读 logging/handlers.py
handler = logging.handlers.TimedRotatingFileHandler("C:\\isis_ops\\logs\\Rotate_Test",'midnight',1)
handler.suffix = "%Y-%m-%d" # or anything else that strftime will allow
root_logger.addHandler(handler)
后缀是格式化字符串。
关于python - TimedRotatingFileHandler 更改文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/338450/