我需要使用python日志记录模块将调试信息打印到文件中,语句如下:
logging.debug(something)
文件被截断(我假设 - 通过日志记录模块)并且在我看到之前消息被删除 - 如何防止这种情况?
这是我的日志配置:
logging.basicConfig(
level = logging.DEBUG,
format = '%(asctime)s %(levelname)s %(message)s',
filename = '/tmp/my-log.txt',
filemode = 'w'
)
谢谢!
答案 0 :(得分:11)
如果重复运行脚本,则会将附加日志消息附加到文件中。 要每次创建新文件,您可以将filemode参数传递给basicConfig(),其值为“w”。但是,不是自己管理文件大小,而是使用RotatingFileHandler更简单。
为防止覆盖文件,您不应将filemode
设置为'w'
或set it to 'a'
(无论如何都是默认设置)。
我相信你只是覆盖了文件。