记录如何控制刷新到日志文件的时间

logging how to control the times in which flush to log file

我必须使用日志记录模块,想知道是否有办法通过将我的数据附加到现有文件来登录到现有日志文件,更重要的是我是否可以控制刷新到文件中的时间。

目前我需要能够一直刷新到文件,因为在某些情况下,脚本 运行 日志逻辑可能会崩溃,所以我需要确切地知道我的程序在哪里停止了。

有什么想法和代码示例吗? 谢谢

如果您使用 logging.FileHandler 并选择现有的日志文件,默认情况下它将附加到该文件。实际写入日志记录的方法是日志处理程序上的 emit() 方法。如果您查看 FileHandler 的源代码,它 flush 每个 写入之后,因此它应该默认执行您想要的操作。

import logging

log = logging.getLogger()
handler = logging.FileHandler('/path/to/log.txt')
log.addHandler(handler)

log.warning('This is a message')