从记录器和处理程序设置日志记录级别有什么区别?
以下代码:
myLogFile
将记录到myLogging = logging.getLogger('myOp')
hdlr = logging.FileHandler(myLogFile)
hdlr.setLevel(10)
myLogging.addHandler(hdlr)
myLogging.debug("Message here")
,但另一个不会:
FileHandler.setLevel()
为什么myLogFile
不会写入<div class="wrapper">
<div class="content">
<div class="left"></div>
<div class="right"></div>
</div>
</div>
?
答案 0 :(得分:1)
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+
vs 30+
)。
回到你的情况,虽然你设置了hdlr.setLevel(10)
,但假设你的logger
级别为20
,这就像一个倒三角形。