如何让多个处理程序使用日志?
How to have several handlers using 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
。它充当 "black hole",吞并所有日志并且不将它们传播到堆栈中。
堆叠非 NullHandler
很容易:
StreamHandler(sys.stdout).push_application()
StreamHandler(sys.stderr, bubble=True).push_application()
bubble
关键字表示处理程序应在处理记录后继续向上传播堆栈。
我正在使用 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
。它充当 "black hole",吞并所有日志并且不将它们传播到堆栈中。
堆叠非 NullHandler
很容易:
StreamHandler(sys.stdout).push_application()
StreamHandler(sys.stderr, bubble=True).push_application()
bubble
关键字表示处理程序应在处理记录后继续向上传播堆栈。