我正在使用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
所以我想知道如何将几个处理程序连接到app?
答案 0 :(得分:2)
这里的问题是选择NullHandler
。它充当“黑洞”,吞噬所有日志而不是将它们传播到堆栈中。
堆叠非NullHandler
很简单:
StreamHandler(sys.stdout).push_application()
StreamHandler(sys.stderr, bubble=True).push_application()
bubble
关键字表示处理程序应在处理记录后继续向上传播。