目前,我已经为管理应用程序的日志文件旋转而苦恼,但是日志越来越大,我想看看它们旋转时如何压缩它们。

我快速浏览了扭曲的文档,但没有看到如何使用DailyLogFile类来做到这一点。

我的日志记录设置是:

from twisted.python.log import ILogObserver, FileLogObserver
from twisted.python.logfile import DailyLogFile
...
"Setup the logging"
logPath = os.getcwd() + "/logs/"
logFile = DailyLogFile("lazarus.log", logPath, defaultMode=0644)
application.setComponent(ILogObserver, FileLogObserver(logFile).emit)


有谁知道如何做到这一点?

最佳答案

您可以子类化DailyLogFile并重载rotate方法:

class DailyCompressedLogFile(DailyLogFile):
    def rotate(self):
        super(DailyCompressedLogFile, self).rotate()
        newpath = "%s.%s" % (self.path, self.suffix(self.lastDate))
        if os.path.exists(newpath):
            # compress newpath here

关于python - 旋转后如何压缩DailyLogFile?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9038001/

10-12 16:48