博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之logging.basicConfig
阅读量:6735 次
发布时间:2019-06-25

本文共 1414 字,大约阅读时间需要 4 分钟。

在自动化测试中,软件运行会出现错误,这时候日志就很重要了

python的logging.basicConfig函数在这里就显得很重要了

首先我们日志需要按照info、debug、error等级别来进行区分的。当然这个级别可以自己去设置。在一般的情况下我们普通的输出我们直接用info类型,调试的时候用debug类型,如果预计有错误时那么我们就需要用error类型的日志,一般情况去info级别最为合适。

logging模块包括logger,Handler,Filter,Formatter四个部分。

  • Logger 记录器,用于设置日志采集。
  • Handler 处理器,将日志记录发送至合适的路径。
  • Filter 过滤器,提供了更好的粒度控制,它可以决定输出哪些日志记录。
  • Formatter 格式化器,指明了最终输出中日志的格式。

python中配置logging有三种方式

第一种:基础配置,logging.basicConfig(filename="config.log",filemode="w",format="%(asctime)s-%(name)s-%(levelname)s-%(message)s",level=logging.INFO)。

第二种:使用配置文件的方式配置logging,使用fileConfig(filename,defaults=None,disable_existing_loggers=Ture )函数来读取配置文件。
第三种:使用一个字典方式来写配置信息,然后使用dictConfig(dict,defaults=None, disable_existing_loggers=Ture )函数来瓦按成logging的配置.

日志一共分成5个等级,从低到高分别是:DEBUG ,INFO ,WARNING ,ERROR, CRITICAL。

日志输出:可以输出在控制台和文件

 

 

logging.basicConfig函数各参数:

filename: 指定日志文件名

filemode: 和file函数意义相同,指定日志文件的打开模式,'w'或'a'

format: 指定输出的格式和内容,format可以输出很多有用信息,如上例所示:

%(levelno)s: 打印日志级别的数值

%(levelname)s: 打印日志级别名称

%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]

%(filename)s: 打印当前执行程序名

%(funcName)s: 打印日志的当前函数

%(lineno)d: 打印日志的当前行号

%(asctime)s: 打印日志的时间

%(thread)d: 打印线程ID

%(threadName)s: 打印线程名称

%(process)d: 打印进程ID

%(message)s: 打印日志信息

datefmt: 指定时间格式,同time.strftime()

level: 设置日志级别,默认为logging.WARNING

stream: 指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略

 

转载于:https://www.cnblogs.com/wind666/p/10737325.html

你可能感兴趣的文章
【小记录】cv::cuda::Stream中取出cudaStream_t并用于核函数的计算
查看>>
精力充沛,过好每一天
查看>>
自动化部署脚本--linux执行sh脚本
查看>>
软件工程随笔(1)--jetbrain在软件工程中的应用
查看>>
matlab 以cell的形式读取excel---保留原excel 里面的字符
查看>>
python 经典排序方法(冒泡排序,快速排序,二分法查找)
查看>>
树莓派与Linux系统之间文件传输
查看>>
CacheHelper
查看>>
今天开始了objective-c的学习!
查看>>
莫人云亦云,莫走弯路!正确认识ExtJs4
查看>>
xss如何加载远程js的一些tips
查看>>
《机器学习实战》支持向量机(手稿+代码)
查看>>
修改VS自带的模版文件
查看>>
hdu2874 LCA
查看>>
fedora中丢失或损坏fstab,无法启动,如何补救
查看>>
JAVA基本算法面试题:1斐波纳契数列
查看>>
GPU Memory Usage占满而GPU-Util却为0的调试
查看>>
iOS开发-UITapGestureRecognizer手势
查看>>
Java中的Lambda表达式
查看>>
Android中数据存储之SharedPreferences
查看>>