【问题标题】:Python - Logging and levelsPython - 日志记录和级别
【发布时间】:2011-05-21 07:25:42
【问题描述】:

我使用 python 模块logging 来生成日志文件和控制台打印。 我设置了我的脚本来记录所有错误级别,没有 DEBUG 文件。 但是我在设置控制台打印处理程序时遇到了麻烦。在控制台上我想显示级别INFO低于,而不是像setLevel 那样做。有什么方法可以用 inline 代码做到这一点?

【问题讨论】:

标签: python logging


【解决方案1】:

我不确定您所说的“内联代码”究竟是什么意思,但您可以使用过滤器来实现。

class InfoAndLower(logging.Filter):
    def filter(self, record):
        return record.levelno <= logging.INFO

然后将过滤器实例附加到您的控制台处理程序。

h = logging.StreamHandler(sys.stdout)
h.addFilter(InfoAndLower())

在 Python 3.2 及更高版本中,您无需创建类 - 可调用对象即可:

h.addFilter(lambda record: record.levelno <= logging.INFO)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 1970-01-01
    • 2020-11-19
    • 2018-04-26
    • 2012-02-08
    相关资源
    最近更新 更多