python3 配置logging日志类

配置类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

将读取配置文件类进行封装,日志类继承配置类。

posted @ 2019-03-22 09:22  耳虫  阅读(1757)  评论(0编辑  收藏  举报