如何使用Logbook如何拥有多个处理程序?

我正在使用
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一样

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

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

堆叠非NullHandler很容易:

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

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

点赞