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

时间:2009-10-05 18:32:30

标签: python logging

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

logging.debug(something)

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

这是我的日志配置:

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

谢谢!

1 个答案:

答案 0 :(得分:11)

logging

  

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

为防止覆盖文件,您不应将filemode设置为'w'set it to 'a'(无论如何都是默认设置)。

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