Python:警告和日志记录详细限制

标签 python logging warnings python-logging

我想统一我的应用程序的整个日志记录工具。任何警告都会引发异常,接下来我捕获它并将其传递给记录器。但问题是:记录中是否有静音设施?有时记录器变得过于冗长。有时由于警告过于嘈杂,警告是否有详细限制?

http://docs.python.org/library/logging.html

http://docs.python.org/library/warnings.html

最佳答案

不仅有log levels ,但是有一个非常灵活的way of configuring them 。如果您使用命名的 logger 对象(例如 logger =logging.getLogger(...)),那么您可以适本地配置它们。这将允许您在逐个子系统的基础上配置详细程度,其中子系统由日志记录层次结构定义。

另一个选项是使用 logging.FilterWarning filters以限制输出。我以前没有使用过这种方法,但看起来它可能更适合您的需求。

PEP-282阅读有关 Python logging 包的精彩散文描述。我认为它比模块文档更好地描述了功能。

澄清后编辑

您也许能够使用基于 logging.Logger 并使用 logging.setLoggerClass() 注册的自定义类来处理此日志记录部分。听起来您确实想要类似于 syslog 的“最后一条消息重复了 9 次”的内容。不幸的是我不知道在任何地方都有这样的实现。您可能想看看 twisted.python.log 是否支持此功能。

关于Python:警告和日志记录详细限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1417665/

相关文章:

linux -/var/log/daemon.log 占用的空间多了怎么减少呢?

java - slf4j 如何在 Eclipse 上工作时启用日志记录

python - 使用堆中的元组进行多维排序?

python - 在 Python 中将列表值组合为字符串的好方法是什么

python - Django 教程应用程序,第 2 部分。为什么缺少 - 在 makemigrations 命令后添加字段问题到选择?

scala - Scala 中的 Apache Spark 日志记录

android - 警告 : Do not hardcode "/data/"; use Context. getFilesDir().getPath() 代替

c++ - 无法解决警告C6386

visual-studio - 人们如何处理警告 C4793 : 'some_function' : function compiled as native?

python - Python 中 list[-1] 的含义