使用模块
使用python自身的logging模块
import logging
# 按照日期切割日志的handler
from loggin.handlers import TimeRotatingFileHandler
实现思路
- 从logging获取一个日志类
- 根据需求设置不同的日志处理器(handler)
- 配置每个handler的参数(文件名/级别/格式等)
- 将设置好的处理器添加给第一步中获取的日志类
实现代码
logger = logging.getLogger('mylogger')
# 设置日志基础级别
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)