在Python日志文件中包含当前日期

2 投票
2 回答
5293 浏览
提问于 2025-04-15 13:04

我每天都会运行一个程序,这个程序使用了Python的日志功能。我想知道怎么设置Python的日志模块,让它把日志写到一个文件里,并且这个文件的名字里包含当前的日期。

因为我每天早上都会重新启动这个程序,所以TimedRotatingFileHandler这个功能不太适合我。我的项目比较大,所以我希望把记录日志所需的代码放到一个单独的日志配置文件里。

2 个回答

0

你可能会对TimedRotatingFileHandler感兴趣,具体可以查看这个链接:http://docs.python.org/library/logging.html#logging.handlers.TimedRotatingFileHandler

9

你可以使用 TimedRotatingFileHandler 这个工具。比如说:

import logging
import logging.handlers

LOG_FILENAME = '/tmp/log'

# Set up a specific logger with our desired output level
log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)
handler = logging.handlers.TimedRotatingFileHandler(LOG_FILENAME, when='D')
log.addHandler(handler)

不过,这个方法可能只有在你的程序运行超过一天时才有效。如果你的脚本是每天通过定时任务(cron job)启动的,最好是手动给日志文件命名,加上时间戳,这样更方便。

撰写回答