【问题标题】:logging how to control the times in which flush to log file记录如何控制刷新到日志文件的时间
【发布时间】:2017-01-16 17:00:12
【问题描述】:

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

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

有任何想法和代码示例吗? 谢谢

【问题讨论】:

  • 崩溃是否产生异常?
  • @unutbu:我不确定,我想不是

标签: python python-2.7 logging flush


【解决方案1】:

如果您使用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')

【讨论】:

  • 我们也有这样的日志轮换处理程序吗?
  • @JavaSa logging.handlers.RotatingFileHandler
猜你喜欢
  • 2016-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 2010-12-27
  • 2010-11-16
  • 1970-01-01
相关资源
最近更新 更多