0
我使用python模塊logging
來生成日誌文件和控制檯打印。 我設置了我的腳本來記錄所有錯誤級別,沒有DEBUG文件。 但我設置處理控制檯打印的麻煩。在控制檯上,我想要顯示INFO
和以下的級別,而不是像setLevel
這樣做。有沒有辦法用內聯的代碼做到這一點?Python - 日誌記錄和級別
我使用python模塊logging
來生成日誌文件和控制檯打印。 我設置了我的腳本來記錄所有錯誤級別,沒有DEBUG文件。 但我設置處理控制檯打印的麻煩。在控制檯上,我想要顯示INFO
和以下的級別,而不是像setLevel
這樣做。有沒有辦法用內聯的代碼做到這一點?Python - 日誌記錄和級別
我不確定您的意思是「內聯代碼」,但您可以使用過濾器來實現此目的。
class InfoAndLower(logging.Filter):
def filter(self, record):
return record.levelno <= logging.INFO
然後將過濾器實例附加到您的控制檯處理程序。
h = logging.StreamHandler(sys.stdout)
h.addFilter(InfoAndLower())
在Python 3.2和更高版本,你不需要創建一個類 - 一個調用就可以了:
h.addFilter(lambda record: record.levelno <= logging.INFO)
http://stackoverflow.com/questions/1383254/logging-streamhandler-標準流可能會幫助完整。 – 2011-05-21 08:05:23