金字塔伐木

Con*_*ode 11 python logging stdout stderr pyramid

我有一个金字塔应用程序,我希望日志到stderr和stdout.stdout应该是"INFO"级别以下.stderr应该是"WARN"更高.我如何更改我的.ini文件来执行此操作?

目前我正在这样登录,这被认为是正确的方法吗?

log = logger.getLogger(__name__)
log.info("update ...")
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

Mic*_*kel 10

您可以向root用户添加多个处理程序,逗号分隔.如果要在正常"仅接受高于此日志记录级别的消息"标准(即仅调试消息)之外进行过滤,则需要使用类似日志记录过滤器的内容根据其特定级别接受/拒绝记录: http:// docs.python.org/library/logging.html#filter-objects

您当前使用的日志记录方法log = logging.getLogger(__name__)完全有效,是组织日志记录层次结构的便捷方法.