Python旋转记录器,如何防止重新启动覆盖日志文件?

576*_*76i 5 python logging

我正在使用旋转记录器每小时创建一个日志文件

import logging
import logging.config
import logging.handlers

tmppath = path.abspath(path.join(path.dirname(__file__), '..', '..', 'logging.ini'))
logging.config.fileConfig(tmppath)
logger = logging.getLogger("main.main")
Run Code Online (Sandbox Code Playgroud)

logging.ini 包含这些规则,规定使用文件名 /var/log/myprogram/main.log并每小时启动一个新文件。

[loggers]
keys=root,main

[handlers]
keys=fileHandler, consoleHandler

....

[handler_fileHandler]
class=logging.handlers.TimedRotatingFileHandler
formatter=myFormatter
args=('/var/log/myprogram/main.log', 'm', 60, 336, )
[formatter_myFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
Run Code Online (Sandbox Code Playgroud)

该记录器运行良好,每小时创建一个文件。

问题是,当程序重新启动时,当前日志文件“/var/log/myprogram/main.log”被覆盖,所以我损失了一些日志时间。

我可以尝试在激活日志记录之前找到日志文件并尝试“手动”重命名它,但这看起来确实很麻烦。

有没有办法将日志记录配置为永远不覆盖日志文件,但始终追加?

对于我的用例来说,如果重新启动后记录时间超过一个小时,这是可以接受的。