繁体   English   中英

如何处理 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM