12

我有一个金字塔应用程序,我希望日志到达标准错误和标准输出。标准输出应为“INFO”级别及以下。stderr 应该是“WARN”或更高。我将如何更改我的 .ini 文件来执行此操作?

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

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

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

[记录器]
键=根,应用程序

[处理程序]
键=控制台

[格式化程序]
键=通用

[logger_root]
级别 = 警告
处理程序 = 控制台

[记录器应用程序]
级别 = 警告
处理程序 =
质量名称 = 应用程序

[handler_console]
类 = 流处理程序
args = (sys.stderr,)                                                                                                                          
85 级 = 未设置
格式化程序 = 通用

[formatter_generic]
格式 = %(asctime)s %(levelname)-5.5s [%(name)s][%(threadName)s] %(message)s
4

1 回答 1

11

您可以将多个处理程序添加到以逗号分隔的根目录。如果您想过滤正常的“仅接受高于此日志级别的消息”标准(即仅调试消息),那么您需要使用类似日志过滤器的东西来根据其特定级别接受/拒绝记录: http:// docs.python.org/library/logging.html#filter-objects

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

于 2011-06-03T08:12:33.063 回答