python django 日志记录 timerotatingfilehandler

标签 python django logging

我使用 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-232014-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/

相关文章:

java - 在哪里保存 WAR 应用程序的日志文件?

python - 使用 chalice 时无法访问请求json_body

python - 如何将两个只有一个公共(public)维度(批量大小)的 3D 张量传递给 dynamic_lstm?

Django 条款和条件表

javascript - 将 JavaScript date() 转换为 Python Django models.DateTimeField

java - 控制 hibernate 日志记录

python - Python 中的全局变量和局部变量

python - 如何用Python创建模拟打印机?

python - Python/IPython shell 中的对象字符串表示

python 日志记录 - 日志文件去了哪里