import logging
from logging.handlers import TimedRotatingFileHandler
from Common.file_path import log_pathclass MyLog:def logger(self):#将日志收集器的名字做为参数传入collector = __name__collect_level = 'DEBUG'#收集级别,输出级别,格式,输出渠道从配置文件读取output_level = 'DEBUG'fmt = '%(asctime)s-%(levelname)s-%(filename)s-%(name)s-日志信息:%(message)s-codeLine:%(lineno)d'output = '/logWeb.log'my_log = logging.getLogger(collector)#定义一个日志收集器my_log.setLevel(collect_level)#设置收集日志的级别#设置日志的输出渠道,输出到控制台或者指定文件if output == 'console':ch = logging.StreamHandler()else:# 定义一个一天换一次日志文件的渠道(每天生成一个新的日志文件),最多保留两个旧的日志文件,也就是说保留两天的日志文件ch = TimedRotatingFileHandler(log_path+output, when='D', interval=1, backupCount=2,encoding='utf-8')ch.setLevel(output_level)#设置输出日志的级别my_log.addHandler(ch)#给日志添加输出渠道formatter = logging.Formatter(fmt)#设置日志输出的格式ch.setFormatter(formatter)return my_log