python logging日志的应用

2021/4/18 22:25:46

本文主要是介绍python logging日志的应用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

@python logging日志的应用

python 实现日志的收集

  1. logging模块 实现日志收集
    1.ogging模块与Print区别:可以实现不同级别日志的输出
  2. logging模块的应用 内置模块
    1.Logger 日志器 提供一个入口,供所有的应用程序接口使用
    2.Handler 处理器 决定日志输出的位置
    3.Formator 格式器 决定日志显示的内容
    4.Filter过滤器 筛选感兴趣的内容
    关系:一个Logger日志器可以有多个处理器,每个处理器都有各自的格式器和过滤器
  3. 代码如何实现
    1.考虑日志级别
    五大级别:从低到高
    1、debug 调试信息
    2、info 关键时间描述
    3、warning 警告
    4、error 错误
    5、critical 严重

实现日志的输出

import logging
 #创建一个日志器
 logger=logging.getLogger(日志名称')
 #设置日志的输出最低级别 默认输出最低级别是warning
 logger.setLevel(logging.INFO)
 创建一个处理器handler 控制台进行日志输出
 console=logging.StreamHandler()
 #创建一个文件处理器
 console1 = logging.FileHandler(filename=f'{time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime())}_log',encoding="utf‐8")
 #创建一个格式器(包含数据(时间 +文件名+错误信息+错误等级),并制定格式)
 console = logging.FileHandler(filename=f'{time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime())}_log',encoding="utf‐8")
 #添加处理器
logger.addHandler(console)
logger.addHandler(console1)
#设置处理器格式
console.setFormatter(format_handler)
console1.setFormatter(format_handler)
#打印日志
logger.error("这是一个错误信息")
logger.warning("这是一个warning信息")
logger.info("这是一个info信息")
logger.critical("这是一个critical信息")
logger.debug("这是一个debug信息")

实现日志的封装

import time
def getlog():
#创建一个日志器
    logger=logging.getLogger('logger')
   #设置日志的输出最低级别 默认输出最低级别是warning
    logger.setLevel(logging.INFO)
    #如果没有处理器才会添加处理器,这样避免重复调用处理器
    if not logger.handlers:
        #创建一个处理器handler 文件进行日志输出
	  	sh=logging.StreamHandler()
	    fh=logging.FileHandler(filename=f'{time.strftime("%Y_%m_%d_%H_%M_%S",time.localtime())}_log',encoding="utf-8")
	    #创建一个格式器(包含数据(时间 +文件名+错误信息+错误等级),并制定格式)
	    formater=logging.Formatter(fmt='%(asctime)s %(levelname)s - %(name)s - %(filename)s (%(lineno)d): %(message)s'
	                                       ,datefmt='%Y-%m-%d %H:%M:%S')
	    logger.addHandler(fh)
	    logger.addHandler(sh)
	    sh.setFormatter(formater)
	    fh.setFormatter(formater)
	return logger

getlog().info("这是错误1")
getlog().error("这是错误2")


这篇关于python logging日志的应用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程