Twisted Python - twistd - 如何删除旧日志文件

Twisted Python - twistd - How to remove old log files

我正在使用 twistd 来 运行 我的应用程序,我阅读了 how to customize the logger。但是,我似乎无法弄清楚如何获取默认记录器(-l 选项,使用连续整数进行扩展)或 DailyLogFile 来限制旋转日志的数量。理想情况下,我希望轮换的日志文件具有“%Y-%m-%d”格式的日期扩展名,并且一次限制为 7 个。

我尝试在我的系统上使用 logrotate,但我发现它在执行 copytruncate.

时莫名其妙地将二进制数据放入日志文件中

编辑:我相信二进制数据的原因可能类似于 this answer

对于默认记录器,您可以指定maxRotatedFiles,这将限制创建的文件数量。有关示例,请参阅此答案

DailyLogFile class 不支持此选项。有一个 patch 来添加功能,但我相信(根据记忆)它还没有被接受,因为它缺少一些测试 and/or 不符合一些代码风格指南。

另请注意,twisted 最近更改了他们的日志系统,因此现在这一切都被认为是遗留的。它仍然有效,但在某些时候可能会改变。这是新 twisted.logger 文档的 link https://twisted.readthedocs.io/en/latest/core/howto/logger.html