zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    国外高手又一力作,CAML Builder
    用word2007发布blog!!
    SharePoint Server 2007 trial 年末大餐细细品尝 (第八口)
    SharePoint Server 2007 trial 年末大餐细细品尝 (再来一口)
    SharePoint Server 2007 trial 年末大餐细细品尝 (第三口)
    SharePoint Server 2007 trial 年末大餐细细品尝 (第十口)
    卡壳了~~~
    SharePoint Server 2007 trial 年末大餐细细品尝 (第九口)
    moss 与 ad 用户信息不同步的问题。
    SharePoint Server 2007 trial 年末大餐细细品尝 (第六口)
  • 原文地址:https://www.cnblogs.com/bingoTest/p/10576212.html
Copyright © 2011-2022 走看看