在嘗試 python 的日志記錄模塊時(shí),我遇到了一些意想不到的行為。我的猜測是,這是由于我的誤解,而不是錯(cuò)誤,但我無法弄清楚出了什么問題(并且我在測試之前一直小心地重新啟動(dòng)python內(nèi)核,以確保根記錄器僅配置一次。import logginglogging.basicConfig(level=logging.CRITICAL)logger1 = logging.getLogger(__name__)logger1.debug("logger1 debug test")正如預(yù)期的那樣,沒有輸出日志消息。如果我按如下方式更改記錄器的級(jí)別:logger1.setLevel('DEBUG')logger1.debug("logger1 debug test")我得到預(yù)期的輸出:DEBUG:__main__:logger1 debug test但是,當(dāng)我現(xiàn)在創(chuàng)建一個(gè)新的記錄器對(duì)象時(shí),它似乎繼承了 logger1 的屬性,而不是 root 的屬性:logger2 = logging.getLogger(__name__)logger2.debug("logger2 debug test")其產(chǎn)生:DEBUG:__main__:logger2 debug test奇怪的是,logger2 仍然將根顯示為父級(jí),但顯示級(jí)別為 10:print(logger2.__dict__){'filters': [], 'name': '__main__', 'level': 10, 'parent': <RootLogger root (CRITICAL)>, 'propagate': True, 'handlers': [], 'disabled': False, '_cache': {10: True}, 'manager': <logging.Manager object at 0x00000265147F2B48>}誰能解釋一下為什么 logger2 不默認(rèn)為 0 (NOTSET) 級(jí)別?
1 回答

忽然笑
TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
問題是,通過嘗試創(chuàng)建與 logger1 同名的 logger2,我實(shí)際上并沒有創(chuàng)建新的記錄器對(duì)象。
添加回答
舉報(bào)
0/150
提交
取消