如何使用python日志记录模块阻止日志文件截断?

Evg*_*eny 5 python logging

我需要使用python日志记录模块将调试信息打印到一个文件,其语句如下:

logging.debug(something)
Run Code Online (Sandbox Code Playgroud)

该文件被截断(我假设 - 由日志记录模块)并且消息在我看到之前被删除 - 如何防止这种情况?

这是我的日志配置:

logging.basicConfig(
    level = logging.DEBUG,
    format = '%(asctime)s %(levelname)s %(message)s',
    filename = '/tmp/my-log.txt',
    filemode = 'w'
)
Run Code Online (Sandbox Code Playgroud)

谢谢!

Est*_*ber 11

logging

如果重复运行该脚本,则会将附加日志消息附加到该文件.要每次创建一个新文件,可以将filemode参数传递给basicConfig(),其值为'w'.但是,不是自己管理文件大小,而是使用RotatingFileHandler更简单.

要防止覆盖文件,不应将其设置filemode'w'将其设置为'a'(无论如何都是默认设置).

我相信你只是覆盖了文件.