我使用 logging.handlers.TimedRotatingFileHandler
在我的 django 项目中轮换访问日志。 'when' 属性的设置为 'midnight',大多数情况下旋转效果很好,但有时它并不像我想要的那样工作,如下所示:
-rw-rw-r-- 1 work work 5.5M Jun 28 23:59 sd.log.2014-06-28
-rw-rw-r-- 1 work work 5.1M Jun 27 23:59 sd.log.2014-06-27
-rw-rw-r-- 1 work work 5.2M Jun 26 23:59 sd.log.2014-06-26
-rw-rw-r-- 1 work work 146 Jun 26 00:00 sd.log.2014-06-25
-rw-rw-r-- 1 work work 5.1M Jun 24 23:59 sd.log.2014-06-24
-rw-rw-r-- 1 work work 123 Jun 24 00:00 sd.log.2014-06-23
-rw-rw-r-- 1 work work 5.2M Jun 22 23:59 sd.log.2014-06-22
2014-06-23
和 2014-06-25
的日志均在 00:00
旋转,而其他日志则在 23:59
,文件大小也异常。
P.S.:当有对我的 api 的请求调用时,它会随时写入日志文件。
请问这个问题是什么原因造成的,如何解决,有没有人遇到过 问题,希望得到您的帮助,非常感谢。
最佳答案
您应该检查您的 python 进程是否未被中断。最初TimedRotatingFileHandler
是为长时间运行的进程而设计的。如果您的进程在一天中多次重新启动,您会注意到不当行为。
解释可以在 this thread 找到.
请记住,如果项目文件更新,Django 的 runserver
默认情况下会重新启动 python 进程。
关于python django 日志记录 timerotatingfilehandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24543928/