问题 金字塔伐木


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

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

log = logger.getLogger(__ name__)
log.info(“更新...”)
log.error(“MAYDAY MAYDAY ... BOOM !!!”)

目前我正在使用默认日志记录,就是这样。

[记录器]
keys = root,app

[处理]
keys = console

[格式化]
keys = generic

[logger_root]
level = WARN
处理程序=控制台

[logger_app]
level = WARN
处理程序=
qualname = app

[handler_console]
class = StreamHandler
args =(sys.stderr,)
85级= NOTSET
formatter = generic

[formatter_generic]
format =%(asctime)s%(levelname)-5.5s [%(name)s] [%(threadName)s]%(消息)s

11302
2018-06-02 19:00


起源



答案:


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

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


10
2018-06-03 08:12