zoukankan      html  css  js  c++  java
  • 接口日志,读取配置文件

    日志基本内容

    #-*- coding: utf-8 -*-
    # @Time : 2021/1/6 0006
    # @Author : tian
    import logging
    '''
    日志 logging
    日志收集器 logger类
    输出渠道 Handle类 控制台(StreamHandle类)文件(FileHandle类)
    日志格式 Formatter
    '''
    
    #创建自己的日志收集器
    logger = logging.getLogger("tian")
    
    #设置日志收集器的日志级别
    logger.setLevel(logging.DEBUG)
    
    #设置自己的日志格式
    '''%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d]  %(message)s
      日志时间  收集器名称 日志级别名称  文件名称   日志在代码多少行 自己定义的消息 '''
    fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s 第[%(lineno)d]行  %(message)s"
    formatter = logging.Formatter(fmt)
    
    
    #创建一个输出渠道 -终端输出
    handel = logging.StreamHandler()
    handel.setFormatter(formatter)
    #创建一个输出渠道,文件输出
    handel2 = logging.FileHandler("logger.log",encoding="utf-8")
    #定制输出渠道自己的日志级别,但是不能低于日志收集器的级别,比如日志收集器为ERROR 那么INFO就没有意义
    # handel.setLevel(logging.INFO)
    
    #把输出渠道添加到日志收集器中
    logger.addHandler(handel)
    logger.addHandler(handel2)
    
    logger.info('111111')
    logger.debug("shu")
    

    修饰成类

    #-*- coding: utf-8 -*-
    # @Time : 2021/1/6 0006 
    # @Author : tian
    import logging
    #将日志输出到文件和控制台
    #提供方法info() error() debug() critical() warning()
    class MyLogger(logging.Logger):
    	
    	def __init__(self,name,level=logging.INFO,file="logger.py"):
    		super().__init__(name)#日志收集器名字
    		self.setLevel(level) #日志收集器级别
    	
    		# 设置自己的日志格式
    		'''%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d]  %(message)s
    		  日志时间  收集器名称 日志级别名称  文件名称   日志在代码多少行 自己定义的消息 '''
    		fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s 第[%(lineno)d]行  %(message)s"
    		formatter = logging.Formatter(fmt)
    		
    		# 创建一个输出渠道 -终端输出
    		handel = logging.StreamHandler()
    		handel.setFormatter(formatter)
    		# 创建一个输出渠道,文件输出
    		handel2 = logging.FileHandler("logger.log", encoding="utf-8")
    		# 定制输出渠道自己的日志级别,但是不能低于日志收集器的级别,比如日志收集器为ERROR 那么INFO就没有意义
    		# handel.setLevel(logging.INFO)
    		
    		# 把输出渠道添加到日志收集器中
    		self.addHandler(handel)
    		self.addHandler(handel2)
    
    logger = MyLogger("TIAN",file="tian.log")
    

    读取配置文件

    #-*- coding: utf-8 -*-
    # @Time : 2021/1/7 0007 
    # @Author : tian
    from configparser import ConfigParser
    import os
    class MyConf(ConfigParser):
    	
    	'''
    	def __init__(self,filename):
    		super().__init__()
    		#读取配置文件
    		self.read(filename,encoding='utf-8')
    		'''
    	def __init__(self,filename):
    		super().__init__()
    		#读取配置文件
    		self.read(filename,encoding='utf-8')
    	
    conf_path = os.path.abspath(os.path.dirname(__file__))
    ini_path = os.path.join(conf_path,r'nmb.ini')
    conf = MyConf(ini_path)
    
    #-*- coding: utf-8 -*-
    # @Time : 2021/1/6 0006 
    # @Author : tian
    import logging
    from lenmon2.dayle.myConf import conf
    #将日志输出到文件和控制台
    #提供方法info() error() debug() critical() warning()
    class MyLogger(logging.Logger):
    	'''
    	def __init__(self,name,level=logging.INFO,file="logger.py"):
    		super().__init__(name)#日志收集器名字
    		self.setLevel(level) #日志收集器级别
    	'''
    	def __init__(self):
    		super().__init__(conf.get("log","name"))#日志收集器名字
    		self.setLevel(conf.get("log","level")) #日志收集器级别
    		# 设置自己的日志格式
    		'''%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d]  %(message)s
    		  日志时间  收集器名称 日志级别名称  文件名称   日志在代码多少行 自己定义的消息 '''
    		fmt = "%(asctime)s %(name)s %(levelname)s %(filename)s 第[%(lineno)d]行  %(message)s"
    		formatter = logging.Formatter(fmt)
    		
    		# 创建一个输出渠道 -终端输出
    		handel = logging.StreamHandler()
    		handel.setFormatter(formatter)
    		# 创建一个输出渠道,文件输出
    		handel2 = logging.FileHandler(conf.get("log","file"), encoding="utf-8")
    		# 定制输出渠道自己的日志级别,但是不能低于日志收集器的级别,比如日志收集器为ERROR 那么INFO就没有意义
    		# handel.setLevel(logging.INFO)
    		
    		# 把输出渠道添加到日志收集器中
    		self.addHandler(handel)
    		self.addHandler(handel2)
    logger = MyLogger()
    logger.info('helloworld')
    
    记录生命的成长,愿岁月不会辜负每一个勇往向前的人
  • 相关阅读:
    sha1加密java代码
    android中用get和post方式向服务器提交请求
    如何通过shell脚本操作MongoDB
    Redis在win7上的安装与可视化应用
    Java的图片处理工具类
    JAVA 读取图片储存至本地
    如何在Objective-C中实现链式语法
    iOS开发之——从零开始完成页面切换形变动画
    开发完iOS应用,接下去你该做的事
    IOS-错误总结
  • 原文地址:https://www.cnblogs.com/tc2019/p/14244958.html
Copyright © 2011-2022 走看看