0
在Python中不同輸出的多個記錄器所以我想在同一個模塊同一模塊
log = logging.getLogger('FirstLogger')
plog = logging.getLogger('SecondLogger')
中創建多個記錄器,我想單獨配置每個記錄。
所以我爲plog添加了一個FileHandler,只需要logging.INFO或更高版本,而FileHandler for log需要logging.DEBUG或更高版本。
我已經創建了一個init_logger()函數,它在記錄器的實例上
def init_logger(logger, fmode, cmode)
所以我想FirstLogger登錄到我單獨創建了它一個文件和日誌與執行配置調試級別。我會做
log = logging.getLogger('FirstLogger')
init_logger(log,logging.DEBUG,logging.INFO)
plog = logging.getLogger('SecondLogger')
init_logger(plog,logging.INFO,logging.INFO)
在init_logger我指定的FileHandler不同的文件,並根據什麼傳遞給init_logger設置的級別。
flog = logging.FileHandler(logfile)
flog.setLevel(fmode)
flog.setFormatter(...)
console = logging.StreamHandler()
console.setLevel(cmode)
console.setFormatter(...)
log.addhandler(flog)
log.addHandler(console)
我的問題是,即使「登錄」有控制檯設置級別信息和文件處理器爲DEBUG我仍然只得到在文件和控制檯都INFO。我無法弄清楚我在做什麼是錯的。
感謝@Pedru。我確實忘了設置記錄器本身的水平。 – pengwinsurf
很高興我能幫忙=) – Pedru