RotatingFileHandler和logrotate.d+WatchedFileHandler对于Python日志循环有区别吗?

2024-10-06 14:25:27 发布

您现在位置:Python中文网/ 问答频道 /正文

Python有自己的RotatingFileHandler,它应该自动循环日志文件。作为一个linux应用程序的一部分,它需要每隔几周/几个月轮换一次日志文件,我想知道这与在logrotate.d中使用一个WatchedFileHandler有什么不同。在

他们的运作方式有什么不同吗?一种方法更安全、更有效,还是被认为优于另一种方法?在


Tags: 文件方法应用程序linux方式logrotaterotatingfilehandlerwatchedfilehandler
2条回答

你的节目的目标受众是什么?

如果您正在创建一个桌面应用程序,而大多数用户无法阅读日志,则应该为他们处理日志。不仅要旋转日志,还要删除旧日志-您不想填满可怜用户的硬盘!在

另一方面,如果读者是有经验的UNIX系统管理员,则必须采用不同的方法。在

系统管理员将需要您无法预料的功能。通过电子邮件发送它们,将它们写入仅附加存储,这是您可以命名的。对于这些用户来说,最好是尽可能灵活地记录日志。Flexible(在UNIX中)意味着简单-所以只需写入一个文件并认为它已经完成。在

而且,系统管理员不想重新学习如何重新记录日志。即使您想提供这种特性,也要确保默认值在这个假设范围内是合理的。在

最后。tdelaney提出了一个重要的观点:标准FileHandler没有太多关注它要写入的文件。您应该使用一个WatchedFileHandler,它是专门为此而编写的

RotatingFileHandler允许日志文件增大到N大小,然后立即自动旋转到新文件。在

logrotate.d通常每天运行一次。如果要限制日志文件的大小,logrotate.d不是最有用的,因为它只定期运行。在

相关问题 更多 >