【问题标题】:How to have several handlers using Logbook?如何使用 Logbook 拥有多个处理程序?
【发布时间】:2016-08-06 11:55:12
【问题描述】:

我正在使用logbook 在 Python 应用程序中记录消息,但是

import logbook

from logbook import Logger, StreamHandler, NullHandler

log = Logger('LogbookExample')

import sys
StreamHandler(sys.stdout).push_application()

NullHandler().push_application()

def main():
    log.info('Hello, World!')    

if __name__ == "__main__":
    main()

没有像我预期的那样工作...... 什么都没有出现。就像 NullHandler 替换 StreamHandler

所以我想知道如何将多个处理程序连接到应用程序?

【问题讨论】:

    标签: python logging logbook


    【解决方案1】:

    这里的问题是选择NullHandler。它充当“黑洞”,吞噬所有日志,而不是将它们传播到堆栈中。

    堆叠非NullHandlers 很简单:

    StreamHandler(sys.stdout).push_application()
    StreamHandler(sys.stderr, bubble=True).push_application()
    

    bubble 关键字表示处理程序应在处理完记录后继续向上传播堆栈。

    【讨论】:

      猜你喜欢
      • 2018-11-14
      • 2018-02-23
      • 1970-01-01
      • 2011-09-27
      • 1970-01-01
      • 2011-03-19
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多