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

將讀取配置文件類進行封裝,日志類繼承配置類。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM