gpt4 book ai didi

Python日志记录,如何过滤特定的记录器

转载 作者:太空宇宙 更新时间:2023-11-04 08:57:08 25 4
gpt4 key购买 nike

这似乎是一个非常简单的问题,但我找不到适合我的例子。

我想过滤一个具有特定名称的记录器。

例如

import logging

logging.root.setLevel(logging.DEBUG)
logging.root.addHandler(logging.StreamHandler())
logging.root.addFilter(logging.Filter(name="a"))

a = logging.getLogger("a")
b = logging.getLogger("b")

a.info("aaaaa")
b.info("bbbbb")

我预计根记录器会过滤来自 b 的消息,因为我知道 logging.Filter 只传递 namechilds名字的

但如您所料,它只是传递了所有消息。

我误解了什么?

最佳答案

logging 文档所述:

events which have been generated by descendant loggers will not be filtered by a logger’s filter setting, unless the filter has also been applied to those descendant logger

如果你只想关闭来自子记录器的消息,你可以设置它的级别:

logging.getLogger("a").setLevel(logging.CRITICAL + 1)

关于Python日志记录,如何过滤特定的记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com