所以我在命令行中運行蟒下面的代碼:爲什麼我沒有在Python中接收日誌INFO消息?
import logging
rootLog = logging.getLogger(__name__)
rootLog.setLevel(logging.INFO)
rootLog.warning("This is a root warning")
rootLog.info("This is root info")
def info():
log = rootLog.getChild("info")
log.info("This is info")
log.warning("This is a warning")
info()
我期待看到在控制檯上所有四個日誌消息,但我只看到了警告。到底是怎麼回事?我誤解了什麼嗎?
編輯:
我發現通過在腳本,我會得到我的預期輸出的開頭添加logging.basicConfig()。這是奇怪的,因爲伐木蟒蛇文檔指出:
功能
debug()
,info()
,warning()
,error()
和critical()
會自動調用basicConfig()
如果沒有處理程序的根記錄定義。
你有什麼處理?如果內存服務,處理程序也可以按日誌級別過濾。 – 2012-08-04 02:26:55
上面的代碼是唯一運行的代碼,所以我猜沒有。儘管看到我的編輯。 – Retsam 2012-08-04 03:09:49
只是一個參考,你確實知道,嚴格來說,你的'rootLogger'不是真正的根記錄器,對吧? – 2012-08-04 03:28:00