使用模塊
使用python自身的logging模塊
import logging
# 按照日期切割日志的handler
from loggin.handlers import TimeRotatingFileHandler
實(shí)現(xiàn)思路
- 從logging獲取一個日志類
- 根據(jù)需求設(shè)置不同的日志處理器(handler)
- 配置每個handler的參數(shù)(文件名/級別/格式等)
- 將設(shè)置好的處理器添加給第一步中獲取的日志類
實(shí)現(xiàn)代碼
logger = logging.getLogger('mylogger')
# 設(shè)置日志基礎(chǔ)級別
logger.setLevel(logging.DEBUG)
# 日志格式
formatter = '%(asctime)s: %(levelname)s %(filename)s-%(module)s-%(funcName)s-%(lineno)d %(message)s'
log_formatter = logging.Formatter(formatter)
# info日志處理器
info_handler = TimedRotatingFileHandler(filename='logs/info.log', when='D', interval=1, backupCount=7, encoding='utf-8')
# log_handler.suffix = '%Y-%m-%d.log'
# log_handler.extMatch = re.compile(r'^\d{4}-\d{2}-\d{2}.log')
info_handler.setFormatter(log_formatter)
# 錯誤日志處理器
err_handler = TimedRotatingFileHandler(filename='logs/error.log', when='D', interval=1, backupCount=7, encoding='utf-8')
# err_handler.suffix = '%Y-%m-%d.log'
# err_handler.extMatch = re.compile(r'^\d{4}-\d{2}-\d{2}.log')
err_handler.setFormatter(log_formatter)
# 添加日志處理器
logger.addHandler(info_handler)
logger.addHandler(err_handler)