金字塔日志记录

12

我有一个金字塔应用程序,希望日志输出到stderr和stdout。stdout的级别为“INFO”及以下,stderr的级别为“WARN”及更高。如何更改我的ini文件实现这一功能?

目前我是这样记录日志的,这是否被认为是正确的方式?

log = logger.getLogger(__name__)
log.info("更新 ...")
log.error("MAYDAY MAYDAY... BOOM!!!")

目前我正在使用默认的记录日志方式,如下所示。

[loggers]
keys = root, app

[handlers]
keys = console

[formatters]
keys = generic
[logger_root] level = WARN handlers = console [logger_app] level = WARN handlers = qualname = app [handler_console] class = StreamHandler args = (sys.stderr,) 85 level = NOTSET formatter = generic
[formatter_generic] format = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
1个回答

11
您可以在根记录器中添加多个处理程序,使用逗号分隔。如果您想要在正常的“仅接受高于此记录级别的消息”标准之外进行过滤(例如,仅调试消息),那么您需要使用类似于日志筛选器的东西来根据其特定级别接受/拒绝记录: http://docs.python.org/library/logging.html#filter-objects 使用log = logging.getLogger(__name__)记录日志的当前方法完全有效,并且是组织日志层次结构的方便方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接