Python中logging模块以及重写

更新时间:2023-06-18 16:08:44 阅读: 评论:0

Python中logging模块以及重写
logging模块
⾃动化测试项⽬中需要记录⽇志,⽤到Logger模块
简介
Python内置的标准模块,主要⽤于输出运⾏⽇志,可以设置输出⽇志的等级、⽇志保存路径、⽇志⽂件回滚等;相⽐print,具备如下优点:
可以通过设置不同的⽇志等级,在relea版本中只输出重要信息,⽽不必显⽰⼤量的调试信息;
print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地⽅,以及怎么输出
⽇志等级
1.等级排序:
  debug < info < warn < error < fatal
2.各等级的含义:
  1.debug: 级别最低,⽤户开发过程中的调试
  2.info:打印程序运⾏是的正常的信息,⽤于替代print输出
  3.warn: 打印警告信息,不影响程序的运⾏
  4.error: 程序运⾏出错,可以修复,常⽤在except异常捕获之后
行李箱
  5.fatal:⾮常严重,⽆法修复,程序继续运⾏的话后果⾮常严重
3.使⽤注意事项:
  设置了⽇志等级后,调⽤⽐等级低的⽇志记录函数则不会输出
实例化⼀个logging对象,name是记录⽇志的⽤例名
logging.tlevel()
设置⽇志等级
logger.tLevel(logging.DEBUG)
logging.formatter
设置输出格式
logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
高考各科时间安排
Handler
乡镇干部工作总结创建句柄,⽤于输出到⽂件、控制台等
fh = logging.FileHandler(log_name) #⽂件句柄,log_name为⽂件名
ch = logging.StreamHandler()#流句柄
logger.addHandler(fh)#将句柄添加到logging对象
logger.addHandler(ch)
测试中对logging的封装
# _*_ coding: utf-8 _*_
import logging
import os.path
import time
class Logger(object):
def __init__(lf, loggername):
高三开学时间'''''流行的近义词
指定保存⽇志的⽂件路径,⽇志级别,以及调⽤⽂件
将⽇志存⼊到指定的⽂件中
'''
# 创建⼀个logger
lf.logger = Logger(loggername)小狗能洗澡吗
lf.logger.tLevel(logging.DEBUG)
# 创建⼀个handler,⽤于写⼊⽇志⽂件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
log_path = os.path.dirname(os.path.abspath('.')) + '/logs/'甩泥巴
log_name = log_path + rq + '.log'
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')#输出格式
fh = logging.FileHandler(log_name)
fh.tLevel(logging.INFO)
fh.tFormatter(formatter)
lf.logger.addHandler(fh)
# 再创建⼀个handler,⽤于输出到控制台
ch = logging.StreamHandler()
ch.tLevel(logging.INFO)
ch.tFormatter(formatter)
lf.logger.addHandler(ch)
def getlog(lf):
return lf.logger
垃圾分类工作实施方案
封装后,可以直接创建Logger对象,直接输出到⽇志⽂件和控制台。

本文发布于:2023-06-18 16:08:44,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/984350.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:输出   信息   标准   程序   工作   时间   影响
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图