1
設置:Python 3.3Python記錄器不尊重日誌級別
我有一個單元測試程序,我想打印出日誌消息。即使將日誌嚴重性設置爲INFO,Python也不會通過此記錄器打印除WARNING或更高郵件以外的任何內容。
這裏是我使用的代碼:
test_logger = logging.getLogger('DesktopprTester')
print(test_logger.getEffectiveLevel())
test_logger.setLevel(logging.INFO)
print(test_logger.getEffectiveLevel())
test_logger.warning('WARN')
test_logger.info('INFO')
這裏是輸出:
30 <-30 is WARN
20 <-20 is INFO
WARN
它不打印信息。所以我錯過了這個文件中的所有信息...我不知道爲什麼。該文件似乎與我同意。當我使用根記錄器並將級別設置爲info時,它將打印它(以及所有其他所做的事情)。現在我製作了自己的記錄器,但似乎並不奏效。請注意,WARNING級別的消息仍然出現,但它們不是我想看到的。
有什麼我在這裏失蹤?我覺得有一些明顯的答案,我沒有看到...
問題解決了。這些文件並沒有太明顯。我明白他們有處理程序,但它使它看起來像重定向到文件或網絡流。謝謝。 – Mgamerz
@Mgamerz的確是它們的目的(至少在unix中,stdin和stdout可以被認爲是「文件」)。 [文檔中的示例](http://docs.python.org/2/howto/logging.html#configuring-logging)確實使用了一個處理程序,但不幸的是'logging'不提供'StreamHandler'在記錄器上默認情況下(就像它在模塊上那樣) – goncalopp