Как сжать DailyLogFile после вращения? - PullRequest
2 голосов
/ 27 января 2012

В настоящее время у меня закручено управление вращением файлов журналов для моего приложения, однако журналы становятся большими, и я хотел бы взглянуть на их сжатие при вращении.

Я быстро просмотрелискаженные документы и не вижу, как я могу сделать это с 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)

Кто-нибудь знаеткак это сделать?

1 Ответ

1 голос
/ 27 января 2012

Вы можете создать подкласс 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
...