如何使用logging.handlers.TimedRotatingFileHandler按当前日期创建日志文件

时间:2018-03-28 03:52:26

标签: python logging

我每小时运行一次任务列表,但我想获取按当前日期命名的日志文件。

dependencies 
    {
       compile 'com.android.support:multidex:1.0.0'
    }

如果我在'10:00:00'中创建第一个日志文件'spark.log',但它将在明天'10:00:00'之前不会创建新文件。我想要的是明天在0创建一个新文件!

1 个答案:

答案 0 :(得分:0)

根据logging documentation for TimedRotatingFileHandler,您可能希望在atTime函数调用中使用其他参数TimedRotatingFileHandler,如下所示:

timer = TimedRotatingFileHandler(log_name, when='D', atTime=datetime.time(0, 0, 0))

如同在纪录片中描述的那样:

  

如果atTime不是None,则它必须是datetime.time实例,它指定发生翻转的时间,对于将“翻转”设置为“午夜”或“特定工作日”的情况。请注意,在这些情况下,atTime值有效地用于计算初始翻转,并且后续翻转将通过正常间隔计算来计算。

...您需要将翻转时间作为datetime.time()的实例提供。这是通过将所需的翻转时间作为参数传递给datetime.time class来完成的。将小时数作为第一个,将分钟作为秒,将秒作为第三个参数。上面的示例将翻转时间设置为00:00:00。

注意:一定要

import datetime

在代码的开头。