在Python日志文件中包含当前日期
我每天都会运行一个程序,这个程序使用了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)启动的,最好是手动给日志文件命名,加上时间戳,这样更方便。