gpt4 book ai didi

python - 日志记录级别与处理程序级别

转载 作者:太空宇宙 更新时间:2023-11-04 04:50:45 24 4
gpt4 key购买 nike

从记录器和处理程序设置日志记录级别有什么区别?

以下代码:

myLogging = logging.getLogger('myOp')
myLogging.setLevel(10)
hdlr = logging.FileHandler(myLogFile)
myLogging.addHandler(hdlr)
myLogging.debug("Message here")

将记录到 myLogFile,但另一个不会:

myLogging = logging.getLogger('myOp')
hdlr = logging.FileHandler(myLogFile)
hdlr.setLevel(10)
myLogging.addHandler(hdlr)
myLogging.debug("Message here")

为什么 FileHandler.setLevel() 不会写入 myLogFile

最佳答案

logger 高于 handler。您可以想象 handler 是一个过滤器。例如,您有一个记录器和两个处理程序:

myLogging = logging.getLogger('myOp')
myLogging.setLevel(10)

hdlr1 = xxx
hdlr2 = xxx
hdlr1.setLevel(20)
hdlr2.setLevel(30)

myLogging.addHandler(hdlr1)
myLogging.addHandler(hdlr2)

在这种情况下,logger 本身将记录 10+hdlr1 将记录比 hdlr2 更多的信息( 20+ 对比 30+)。

回到你的案例,虽然你设置了hdlr.setLevel(10),但是假设你的logger的级别是20 , 这就像一个倒三角形。

关于python - 日志记录级别与处理程序级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48393806/

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