如何使用Python中的日志记录在日志文件中添加当前日期作为前缀

时间:2019-06-05 21:19:52

标签: python logging

我想使用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库的解决方案。

预先感谢:)

1 个答案:

答案 0 :(得分:0)

我建议这样做:

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()才能开始记录该文件。

希望有帮助!