Python 二次封装logging模块
2021-01-04 本文已影响0人
顶宝麻麻
import os
import time
import logging
class MyLogger(object):
def __init__(self):
# 第一步: 创建一个日志收集器对象logger
self.logger = logging.getLogger("my_logger")
self.logger.setLevel(logging.DEBUG)
# 第二步: 创建日志输出渠道,并设置等级
# 1. 输出到控制台
sh = logging.StreamHandler()
sh.setLevel(logging.INFO)
# 2. 输出到日志文件
rq = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime((time.time())))
log_name = rq + '.log'
log_path = os.path.join(os.path.abspath('../'), 'log', log_name)
fh = logging.FileHandler(log_path)
fh.setLevel(logging.INFO)
# 第三步:指定日志输出格式
formatter = logging.Formatter("[%(asctime)s][%(filename)s-->line:%(lineno)d][%(levelname)s] %(message)s")
sh.setFormatter(formatter)
fh.setFormatter(formatter)
# 第四步: 添加日志输出渠道到日志收集器中
self.logger.addHandler(sh)
self.logger.addHandler(fh)
return self.logger
# 创建一个日志收集器对象
my_logger = MyLogger()