配置类config_file:

  

 from configparser import ConfigParser

 class config_file:

     def __init__(self,conf_filePath,encoding="utf-8"):
#打开配置文件,实例化ConfigParser类,并以默认utf-8的编码格式读取文件
self.cf = ConfigParser()
self.cf.read(conf_filePath,encoding) def get_Int_Value(self,section,option):
#获取整数
return self.cf.getint(section,option) def get_boolValue(self,section,option):
#获取布尔值
return self.cf.getboolean(section,option) def get_strValue(self,section,option):
# 获取字符串类型的值
return self.cf.get(section,option) def get_floatValue(self,section,option):
# 获取浮点数值
return self.cf.getfloat(section,option) def get_sections(self):
# 获取所有的section
return self.cf.sections() def get_options(self,section):
# 获取所有的option
return self.cf.options(section)

日志类:

  

 from configparser import ConfigParser
import logging
from config_file import config_file
class Log_Test(config_file):#继承config_file def logging(self):
logger = logging.getLogger(self.get_strValue('log','logger_name')) #从配置文件读取logger名
logger.setLevel(self.get_strValue('log', 'logger_level')) # 设置logger收集器的收集log级别
format_logger = logging.Formatter(self.get_strValue('log','logger_format'))
if(self.get_boolValue('log','logger_out')):
handle = logging.StreamHandler() # 指定输出到console控制台
handle.setLevel(self.get_strValue('log', 'logger_level')) # 读取日志等级并设定logging的级别
handle.setFormatter(format_logger) # 指定日志格式
else:
handle = logging.FileHandler(self.get_strValue('log','logger_filepath'), encoding='utf-8')
handle.setLevel(self.get_strValue('log', 'logger_level')) # 读取日志等级并设定logging的级别
handle.setFormatter(format_logger) # 指定日志格式
logger.addHandler(handle)
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

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

python3 配置logging日志类的更多相关文章

  1. logging日志类

    #! /usr/bin/env python #coding=utf-8 import logging,os class Logger: def __init__(self, path,clevel ...

  2. Python3自定义日志类教程

    一.说明 Python3的logging功能是比较丰富的支持不同层次的日志输出,但或是我们想在日志前输出时间.或是我们想要将日志输入到文件,我们还是想要自定义日志类. 之前自己也尝试写过但感觉文档太乱 ...

  3. python3+selenium框架设计03-封装日志类

    首先我们先来实现日志的功能,日志可以使用python3自带logging模块,不会的可以百度一下相关文章,也可以看我另外一篇文章Python3学习笔记24-logging模块 在封装日志类前,我们需要 ...

  4. python3+requests库框架设计02-封装日志类

    首先我们先来实现日志的功能,日志可以使用python3自带logging模块,不会的可以百度一下相关文章,也可以看我另外一篇文章Python3学习笔记24-logging模块 在封装日志类前,我们需要 ...

  5. Python3自定义日志类 mylog

    #encoding=utf-8 import os, sysimport datetimeimport time class Mylog(object): # 根文件夹    root_dir = s ...

  6. logging日志模块详细,日志模块的配置字典,第三方模块的下载与使用

    logging日志模块详细 简介 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么 了,但是当我需要看大量的地方或者在一个文件中查看的时 ...

  7. slf4j/logback: logging日志的配置

    slf4j/logback: logging日志的配置 import依赖: import org.slf4j.Logger;import org.slf4j.LoggerFactory;private ...

  8. logging日志模块配置

    logging日志模块 日志级别 日志一共分成5个等级,从低到高分别是: 1)DEBUG 2)INFO 3)WARNING 4)ERROR 5)CRITICAL 说明: DEBUG:详细的信息,通常只 ...

  9. 接口自动化--日志类封装(logging)

    上篇随笔已经写到了读取Excel类的封装了,下面就写下日志类, 日志类在我们自动化的过程中是十分重要的,在我们的自动化程序出现异常的时候就可以打印日志 下面是我自己封装的日志类 import logg ...

随机推荐

  1. Vue+koa2开发一款全栈小程序(8.图书列表页)

    1.图书列表页获取数据 1.在server/routes/index.js中新增路由 router.get('/booklist',controllers.booklist) 2.在server/co ...

  2. 2019南昌邀请赛网络预选赛 I. Max answer(单调栈+暴力??)

    传送门 题意: 给你你一序列 a,共 n 个元素,求最大的F(l,r): F(l,r) = (a[l]+a[l+1]+.....+a[r])*min(l,r); ([l,r]的区间和*区间最小值,F( ...

  3. 浏览器开发者工具----F12 功能介绍

    笔者技巧: 看了些其它回答,有些是用来扒图片的,有些是写爬虫的(这个不要看Elements,因为浏览器会对一些不符合规范的标签做补全或者其它处理,最好是Ctrl+U). 图片的话就不要看Network ...

  4. SPFA+SLF+LLL

    关于SLF优化 朴素SPFA使用常规队列(FIFO)更新距离,并没有考虑优化出队顺序(dis值小的优先出队)可以在一开始就把各个点的dis值限值小,从而避免大量的松弛操作,从而提高效率.这就是SLF( ...

  5. INI配置文件的格式

    为什么要用INI文件?如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要 ...

  6. AngularJS DI(依赖注入)实现推测

    AngularJS DI(依赖注入) http://www.cnblogs.com/whitewolf/archive/2012/09/11/2680659.html 回到angularjs:在框架中 ...

  7. Nginx web 服务器 安装篇

    Nginx介绍: 静态web服务器有Nginx .Apache .lighttpd等 目前国内用的最常见的就是Nginx 和Apache 是一个开源的.支持高性能.高并发的www服务和代理服务软件,N ...

  8. Webform--LinQ 分页组合查询

    一.linq高级查 1.模糊查(字符串包含) public List<User> Select(string name) { return con.User.Where(r => r ...

  9. CEYE平台的使用

    0x01 CEYE 是什么 CEYE是一个用来检测带外(Out-of-Band)流量的监控平台,如DNS查询和HTTP请求.它可以帮助安全研究人员在测试漏洞时收集信息(例如SSRF / XXE / R ...

  10. Why Random Initialization in Neural Network?