1. 程式人生 > >Python 學習筆記: Logging 模組

Python 學習筆記: Logging 模組

Logging 模組

import logging

logger = logging.getLogger()

# 建立一個handler,用於寫入日誌檔案
fh = logging.FileHandler('test.log',encoding='utf-8')
# 再建立一個handler,用於輸出到控制檯
ch = logging.StreamHandler()

formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

logger.setLevel(logging.DEBUG)

fh.setFormatter(formatter)
ch.setFormatter(formatter)

logger.addHandler(fh) 
#logger物件可以新增多個fh和ch物件 logger.addHandler(ch) logger.debug('logger debug message') logger.info('logger info message============') logger.warning('logger warning message') logger.error('logger error message') logger.critical('logger critical message')

輸出如下:

2018-11-22 09:27:22,336 - root - DEBUG - logger debug message
2018-11-22 09:27:22,337 - root - INFO - logger info message============ 2018-11-22 09:27:22,337 - root - WARNING - logger warning message 2018-11-22 09:27:22,337 - root - ERROR - logger error message 2018-11-22 09:27:22,337 - root - CRITICAL - logger critical message
注意
logger.setLevel(logging.DEBUG) 是設定記錄的級別, 可以單獨設定 fh , ch 的級別。
級別上critical>error>warning>info>debug 設定了低級別的level後, 高於它的級別的資訊都能顯示。低於它的級別資訊被過濾掉了。