扭曲日志按大小轮换/文件总数有上限?

Twisted log rotation by size / having an upper limit on the total number of files?

我有一个扭曲的服务器,它生成日志文件并根据大小轮换它们。如果特定文件的文件大小超过 1MB,则会创建一个新的日志文件。

但是,运行 几天后,日志文件开始填满我的硬盘。

有没有办法对日志轮换进行总体限制?该限制可以基于总大小(例如只有 200GB 的日志 - 任何更多都会被删除),或基于文件的数量(例如只会存储 1000 个日志)。

您可以使用选项记录器。你将不得不编写自己的记录器工厂,像这样

#in module mymodule, file <log.py>
def my_logger():
    f = logfile.LogFile("twistd_alert.log", '/var/log/', rotateLength=1000000, maxRotatedFiles=100)
    log_observer = log.FileLogObserver(f)
    return log_observer.emit

然后当 运行 服务器时,您可以将选项记录器指定为

twistd --logger=mymodule.log.logger <your_server>