2012-07-18 84 views
24

當我登錄一個事件logging.info,它不會出現在Python終端。logging.info不顯示在控制檯上,但警告和錯誤做

import logging 
logging.info('I am info') # no output 

相比之下,事件記錄與logging.warn會出現在終端。

import logging 
logging.warn('I am warning') # outputs "I am warning" 

是否有環境等級變化我可以讓logging.info打印到控制檯?我想避免在每個Python文件中進行更改。

回答

41

根記錄器始終默認爲警告級別。嘗試調用

logging.getLogger().setLevel(logging.INFO) 

,你應該罰款。

+0

這工作得很好,但我想我將不得不在每個python文件中改變它我有權利嗎?沒有LOGGING的全局設置 – daydreamer 2012-07-19 13:29:58

+1

不,您只需要調用一次。記錄器被構建爲一個層次結構,並且所有日誌歸結爲一個*根記錄器*。通過不指定任何參數給'getLogger()',它將返回根記錄器。只要您不修改其他記錄器,您只需修改根記錄器即可。 – Ztyx 2012-09-24 21:14:55

+0

很酷,感謝提供的信息 – daydreamer 2012-09-24 21:24:29

3

在致電logging.infologging.warn之前,您需要致電logging.basicConfig並傳遞所需的level=參數。

+3

這不起作用,儘管完全按照教程的說法進行操作。 – episodeyang 2017-09-11 01:59:46

相關問題