Python 日誌,logging模組
阿新 • • 發佈:2018-12-07
demo.py(日誌,輸出到控制檯):
import logging # 匯入logging模組 # 日誌級別預設是WARNING logging.basicConfig(level=logging.WARNING, format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') # 開始使用log功能 logging.info('這是 loggging info message') logging.debug('這是 loggging debug message') logging.warning('這是 loggging a warning message') logging.error('這是 loggging error message') logging.critical('這是 loggging critical message')
demo.py(日誌,輸出到檔案):
import logging # 配置日誌的輸出檔案,以及檔案的開啟方式 logging.basicConfig(level=logging.WARNING, filename='./log.txt', filemode='a', # a表示追加的模式開啟檔案 format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s') # use logging logging.info('這是 loggging info message') logging.debug('這是 loggging debug message') logging.warning('這是 loggging a warning message') logging.error('這是 loggging error message') logging.critical('這是 loggging critical message')
demo.py(日誌,同時輸出到檔案和控制檯):
import logging # 第一步,建立一個logger logger = logging.getLogger() logger.setLevel(logging.INFO) # Log等級總開關 # 第二步,建立一個handler,用於寫入日誌檔案 logfile = './log.txt' fh = logging.FileHandler(logfile, mode='a') # mode表示檔案的開啟方式 fh.setLevel(logging.DEBUG) # 輸出到file的log等級的開關 # 第三步,再建立一個handler,用於輸出到控制檯 ch = logging.StreamHandler() ch.setLevel(logging.WARNING) # 輸出到console的log等級的開關 # 第四步,定義handler的輸出格式 formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") fh.setFormatter(formatter) ch.setFormatter(formatter) # 第五步,將logger新增到handler裡面 logger.addHandler(fh) 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')