首页 > 解决方案 > 如何使用 Python 中的日志记录在日志文件中添加当前日期作为前缀

问题描述

我想使用 Python 的logging库根据当前日期命名日志文件,例如以下示例:

log/ 

    06-06-2019.log
    07-06-2019.log
    08-06-2019.log

但是,我能够编写的代码...

handler = TimedRotatingFileHandler(
        'log/log',
        when = 'midnight',
        interval = 1,
        utc = True,
        backupCount = 9
)

...产生这些日志文件:

log/

   log
   log.2019-06-06
   log.2019-06-07
   log.2019-06-08

是否有任何事件来计算文件名?我已经阅读了许多 SO 问题和官方文档,但没有发现对这个问题有用。

我该如何解决这个问题?如果可能的话,我想要一个使用logging库的解决方案。

提前致谢 :)

标签: pythonlogging

解决方案


我建议这样做:

from datetime import date

log_file = "../Path/To/Logs/Folder/log-" + date.today() + ".log"
logger = open(log_file, "w+")
logger.close() # Do this to make sure python let's go of the file.

这样做是创建一个以log-year-month-date.log您选择的路径命名的日志文件,只要该文件不存在。但是,python 会保留该文件,因此您需要close()在开始登录之前保存它。

希望有帮助!


推荐阅读