完整日志管理(python)

2024-06-13 21:58:28 发布

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

有人问过类似的问题,但我没有遇到一个简单易行的方法

我们有各种各样的应用程序日志,这些日志填满了空间,我们还面临其他不需要的问题。如何为这个维护编写监控脚本(压缩特定大小的文件、移动它们、监视它们等等)?我正在寻找一个简单的解决方案(如在使用什么?),如果可能,在python中,或者可能只是一个shell脚本。在

谢谢。在


Tags: 文件方法脚本应用程序空间解决方案shell简单易行
2条回答

使用logrotate为您做这项工作。在

请记住,在少数情况下,可能无法正常工作,例如,如果日志记录应用程序始终打开日志文件,并且如果删除并重新创建该文件,则无法恢复日志文件。在

在过去的几年里,我遇到过一些这样的应用程序,但是即使是对于它们,您也可以配置logrotate在它旋转日志时重新启动它们。在

这样做的“标准”方法(至少在大多数Gnu/Linux发行版上)是使用logrotate。我在Debian机器上看到一个/etc/logrotate.conf,其中详细说明了要旋转哪些文件以及以什么频率旋转。它由一个每日cron条目触发。这是我推荐的。在

如果您希望应用程序本身执行此操作(这确实是一个痛苦的问题,因为它不是它的工作),您可以考虑编写一个自定义的log handler。RotatingFileHandler(或timedrotingfilehandler)可能可以工作,但您可以编写一个自定义的。在

大多数系统默认设置为自动旋转syslog发出的日志文件。您可能需要考虑使用SysLogHandler并将日志记录到syslog(无论语言如何),以便系统基础设施自动为您处理事务。在

相关问题 更多 >