如何使用Python logging模块防止日志文件截断?

7

我需要使用Python日志模块将调试信息打印到文件中,语句类似于:

logging.debug(something)

文件被截断了(我假设是由日志模块),消息在我看到它们之前就被删除了 - 如何防止这种情况发生?
以下是我的日志配置:
logging.basicConfig(
    level = logging.DEBUG,
    format = '%(asctime)s %(levelname)s %(message)s',
    filename = '/tmp/my-log.txt',
    filemode = 'w'
)

谢谢!

1个回答

13

logging

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

为了防止覆盖文件,您不应将filemode设置为'w',或者将其设置为'a'(这是默认设置)。

我认为您只是在覆盖文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接