配置类config_file:
1 from configparser import ConfigParser 2 3 class config_file: 4 5 def __init__(self,conf_filePath,encoding="utf-8"): 6 #打开配置文件,实例化ConfigParser类,并以默认utf-8的编码格式读取文件 7 self.cf = ConfigParser() 8 self.cf.read(conf_filePath,encoding) 9 10 def get_Int_Value(self,section,option): 11 #获取整数 12 return self.cf.getint(section,option) 13 14 def get_boolValue(self,section,option): 15 #获取布尔值 16 return self.cf.getboolean(section,option) 17 18 def get_strValue(self,section,option): 19 # 获取字符串类型的值 20 return self.cf.get(section,option) 21 22 def get_floatValue(self,section,option): 23 # 获取浮点数值 24 return self.cf.getfloat(section,option) 25 26 def get_sections(self): 27 # 获取所有的section 28 return self.cf.sections() 29 30 def get_options(self,section): 31 # 获取所有的option 32 return self.cf.options(section)
日志类:
1 from configparser import ConfigParser 2 import logging 3 from config_file import config_file 4 class Log_Test(config_file):#继承config_file 5 6 def logging(self): 7 logger = logging.getLogger(self.get_strValue('log','logger_name')) #从配置文件读取logger名 8 logger.setLevel(self.get_strValue('log', 'logger_level')) # 设置logger收集器的收集log级别 9 format_logger = logging.Formatter(self.get_strValue('log','logger_format')) 10 if(self.get_boolValue('log','logger_out')): 11 handle = logging.StreamHandler() # 指定输出到console控制台 12 handle.setLevel(self.get_strValue('log', 'logger_level')) # 读取日志等级并设定logging的级别 13 handle.setFormatter(format_logger) # 指定日志格式 14 else: 15 handle = logging.FileHandler(self.get_strValue('log','logger_filepath'), encoding='utf-8') 16 handle.setLevel(self.get_strValue('log', 'logger_level')) # 读取日志等级并设定logging的级别 17 handle.setFormatter(format_logger) # 指定日志格式 18 logger.addHandler(handle) 19 return logger
日志配置文件logging.cfg:
[log] #日志收集器 logger_name=TEST #日志级别 级别需要大写 DEBUG-->INFO-->WARNING-->ERROR-->CRITICAL/FATAL logger_level=DEBUG #日志输出格式 注意转义 logger_format=%%(asctime)s-%%(filename)s-%%(levelname)s-日志信息:%%(message)s #日志是否输出到控制台 True or False logger_out=False #日志输出指定文件地址 logger_filepath=logging_Test.log
将读取配置文件类进行封装,日志类继承配置类。