![](/img/trans.png)
[英]How to redirect another library's console logging messages to a file, in Python
[英]How to deal with regular messages in Python's logging?
Python 的logging
工具具有多个严重性级别:
*根记录器默认为警告。
在此设置中如何处理常规消息?
对于“常规消息”,我指的是那些不是警告但应始终向用户显示的消息。
一个例子可能是:
循环遍历文件列表并对它们应用累加操作。 “常规消息”可能是“当前正在处理 {filename}”。 INFO 级别可能包含文件处理的各个子步骤的状态,用户可能大部分时间都没有兴趣了解这些子步骤。 在 WARNING 级别可能存在潜在问题,例如两个文件包含相同密钥的不同条目。
我想我想要一个介于 WARNING 和 INFO 之间的级别,这可能被称为 NOTICE、NOTE、REGULAR 或类似的。 这个级别将是我的默认值而不是警告。 为什么日志没有提供这样的级别?
我知道我可以很容易地添加这样的级别,但日志记录手册强烈反对自定义级别。 因此,我认为必须有一种规范的方式来记录上述消息......
编辑:只是为了澄清关于关闭“基于意见”的投票:我想知道应该如何使用logging
来遵守给定的级别和约定集。 因此,我认为正确答案不一定是意见,而应该是使用该模块的最佳实践。
手册指出“定义您自己的级别是可能的,但不是必要的,因为现有级别是根据实践经验选择的”。 在我上面的示例中,我似乎缺少一个级别:“常规消息”或者——如果我切换到 INFO 表示“常规消息”——类似于用户的“详细信息”。
日志消息并没有真正为用户缩进。 您所描述的听起来更像是常规输出。 然而,至少有两种可能的方法来解决这个问题。 要么设置常规消息INFO
级别并将不感兴趣的消息移动到DEBUG
级别,要么使用 日志过滤器。 引用文档:
过滤器可以被处理程序和记录器用于比级别提供的更复杂的过滤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.