日誌記錄模組logging
阿新 • • 發佈:2018-11-22
在python中,日誌記錄顯示有兩種方式,一種是儲存在檔案和列印螢幕上,一種儲存在檔案中。
第一種,直接儲存在檔案中。
1 import logging #日誌模組,方便記錄日誌 2 3 # 下面是配置日誌記錄格式 4 logging.basicConfig(level=logging.DEBUG, #(DEBUG這個可以換成其他級別,如WARNING,ERROR等) 5 format=' %(asctime)s >> %(filename)s >> line: %(lineno)d >> %(levelname)s >> %(message)s', 6 datefmt='%Y_%m_%d %H:%M:%S', 7 filename='test.log', 8 filemode='a' 9 ) #這個w執行時,會把原有的內容清空,記錄記錄肯定是要保留所有記錄,所以把w換成a,就可以增加內容 10 11 # 如下為錯誤級別,依次級別增高 12 logging.debug('debug message11,1223') 13 logging.info('info message22') 14 logging.warning('warning message22') 15 logging.error('error message33') 16 logging.critical('critical message44')
第二種,同時儲存在檔案和列印輸出
1 import logging 2 3 4 logger = logging.getLogger() 5 6 #建立一個handler,用於寫入日誌檔案 7 fh = logging.FileHandler('test.log','a') 8 #再建立一個handler,用於輸出到螢幕9 ch = logging.StreamHandler() 10 11 12 formt=logging.Formatter('%(asctime)s_%(filename)s_%(levelname)s_%(message)s') 13 14 15 16 fh.setFormatter(formatter) 17 ch.setFormatter(formatter) 18 19 20 logger.addHandler(fh) 21 logger.addHandler(ch) 22 23 24 25 26 logger.setLevel(logging.DEBUG) 27 28 29 30 logger.debug('debug message11') 31 logger.info('info message22') 32 logger.warning('warning message33') 33 logger.error('error message44') 34 logger.critical('critical message55')