python之logging日志模块基础用法总结

python之logging日志模块基础用法总结,第1张

概述logging模块是python中内置的标准模块,通常用于输出脚本运行日志,同时还可以设置输出日志的等级、日志保存路径、日志文件回滚等基础实例首先通过一个简单的实例,来了解logging模块的基础用法:首先引入logging模块然后利用basicConfig配置level信息format信息接着声明一个Logg

logging模块是python中内置的标准模块,通常用于输出脚本运行日志,同时还可以设置输出日志的等级、日志保存路径、日志文件回滚等

基础实例

首先通过一个简单的实例,来了解logging模块的基础用法:

首先引入logging模块然后利用basicConfig配置level信息format信息接着声明一个Logger对象,是日志输出的主类最后使用上述声明的Logger对象,调用info()方法就可以输出INFO级别的日志信息,调用deBUG方法可以输出DEBUG级别的日志信息
# 导入logging包import logging# 设置配置信息logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')# 定义日志名称getLoggerlogger = logging.getLogger("log_demo")# info deBUG warninglogger.info('info')logger.deBUG('deBUG')logger.warning('warning')

运行后,打印如下日志信息:

2021-02-22 22:55:21,683 - log_demo - INFO - info2021-02-22 22:55:21,695 - log_demo - WARNING - warning

从打印结果,我们很容易就会发现logger.deBUG的日志信息,并没有打印出来,这到底是为什么呢? 这就需要关注到上面提到的level信息

日志级别

logging模块中level信息,有以下五类:

CRITICAL:致命错误,软件可能无法运行ERROR:严重错误,软件可能无法运行某些功能WARNING:警告信息,软件还能按预期运行INFO:确认一切是否按预期运行DEBUG:详细的信息,常用于诊断问题NOTSET:不设置level

接下来,再通过一个实例感受一下:

# 导入logging包import logging# 设置配置信息logging.basicConfig(level=logging.DEBUG,                    filename='output.log',                    datefmt='%Y/%m/%d %H:%M:%s',                    format='%(asctime)s - %(name)s - %(levelname)s -%(lineno)s -%(module)s - %(message)s')# 定义日志名称getLoggerlogger = logging.getLogger("log_demo")# info deBUG warninglogger.info('info')logger.deBUG('deBUG')logger.warning('warning')

该实例与第一个实例相比,有三点变化:

通过filename指定了输出日志文件output.log用于记录生成的日志信息通过datefmt指定了日期的输出格式通过%(lineno)s和%(module)s, 在日志记录中,打印日志的当前行号和模块名称

生成的日志文件output.log内容如下:

2021/02/23 22:10:49 - log_demo - INFO -15 -log_example - info2021/02/23 22:10:49 - log_demo - DEBUG -16 -log_example - deBUG2021/02/23 22:10:49 - log_demo - WARNING -17 -log_example - warning

从日志内容,我们能够看到,当level信息为DEBUG时,三条日志均打印出来了,这是因为日志级别是有等级高低排序的:

CRITICAL > ERROR > WARNING > INFO > DEBUG

可以这样理解,logging模块在打印模块时,不会打印比当前level等级低的内容,例如我们设置了输出日志 level 为 INFO,只会输出级别大于等于 INFO 的日志,如 WARNING、ERROR 等,而DEBUG 和 NOSET 级别的不会输出。

总结

以上是内存溢出为你收集整理的python之logging日志模块基础用法总结全部内容,希望文章能够帮你解决python之logging日志模块基础用法总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1189427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存