2011-09-30 56 views
0

我在我所有的模塊中大量使用日誌記錄模塊。這在我的主例程中爲日誌記錄模塊創建配置時正常工作。 但是,當我想在一個交互式shell和logging.getLogger(「富」)分別測試我的模塊之一是執行我的錯誤:單獨使用模塊時的日誌記錄問題

No handlers could be found for logger "foo"

這使得課程的意義,因爲日誌模塊不是招」尚未配置。 當我再次在我的所有模塊中調用logging.basicConfig()時,我的日誌將被多次打印(python文檔也稱只在主線程中調用basicConfig()一次)。

那麼,這是如何幹淨地完成? 我可以檢查記錄模塊是否已經配置好嗎?

回答

1

它在Logging module How-To中有解釋。您可以創建一個幫助模塊,以便隨時隨地執行任何日誌記錄:

import logging 
logging.getLogger('your_top_level_package').addHandler(logging.NullHandler()) 
+0

該死的......我以爲我讀過這一切。對不起,這個問題,並感謝您的答案...完美的作品。 – ifschleife