python之logging模塊
阿新 • • 發佈:2017-07-24
想要 線程 自定義 操作 import fda cnblogs hid config
logging
用於便捷記錄日誌且線程安全的模塊
import logging logging.basicConfig(filename=‘log.log‘, format=‘%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S %p‘, level=10) logging.debug(‘debug‘) logging.info(‘info‘) logging.warning(‘warning‘) logging.error(‘error‘) logging.critical(‘critical‘) logging.log(10,‘log‘)
日誌等級:
CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN = WARNING INFO = 20 DEBUG = 10 NOTSET = 0
註:只有【當前寫等級】大於【日誌等級】時,日誌文件才被記錄。
2、多文件日誌
對於上述記錄日誌的功能,只能將日誌記錄在單文件中,如果想要設置多個日誌文件,logging.basicConfig將無法完成,需要自定義文件和日誌操作對象。
# 定義文件 file_1_1 = logging.FileHandler(‘l1_1.log‘, ‘a‘, encoding=‘utf-8‘) fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s") file_1_1.setFormatter(fmt) file_1_2 = logging.FileHandler(‘l1_2.log‘, ‘a‘, encoding=‘utf-8‘) fmt = logging.Formatter() file_1_2.setFormatter(fmt)日誌一# 定義日誌 logger1 = logging.Logger(‘s1‘, level=logging.ERROR) logger1.addHandler(file_1_1) logger1.addHandler(file_1_2) # 寫日誌 logger1.critical(‘1111‘)
# 定義文件 file_2_1 = logging.FileHandler(‘l2_1.log‘, ‘a‘) fmt = logging.Formatter() file_2_1.setFormatter(fmt) # 定義日誌 logger2 = logging.Logger(‘s2‘, level=logging.INFO) logger2.addHandler(file_2_1)日誌(二)
如上述創建的兩個日誌對象
- 當使用【logger1】寫日誌時,會將相應的內容寫入 l1_1.log 和 l1_2.log 文件中
- 當使用【logger2】寫日誌時,會將相應的內容寫入 l2_1.log 文件中
python之logging模塊