Python中logging模块如何使用

 Python中logging模块如何使用

这篇文章主要讲解了“Python中logging模块如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中logging模块如何使用”吧!

1.为什么要用logging模块

在实际应用中,日志文件十分重要,通过日志文件,我们知道程序运行的细节;同时,当程序出问题时,我们也可以通过日志快速定位问题所在。在我们写程序时,也可以借助 logging 模块的输出信息来调试代码。

 Python中logging模块如何使用

但是很多人还是在程序中使用print()函数来输出一些信息,比如:

print'Startreadingdatabase'records=model.read_recrods()print'#records',recordsprint'Updatingrecord...'model.update_records(records)print'done'

这样用的话缺点很明显,当程序写好运行时,我们要把这些print()函数删掉,在简单的的程序中用还行,当程序比较复杂时,这个办法很低效。

如果使用logging模块,看看效果

importlogginglogging.basicConfig(level=logging.INFO)logger=logging.getLogger(__name__)logger.info('Startreadingdatabase')#readdatabasehererecords={'john':55,'tom':66}logger.debug('Records:%s',records)logger.info('Updatingrecords...')#updaterecordsherelogger.info('Finishupdatingrecords')

运行结果如下:

INFO:__main__:StartreadingdatabaseINFO:__main__:Updatingrecords...INFO:__main__:Finishupdatingrecords

你也许会问,这和print()函数有什么区别呢?区别就在于,logging模块可以通过改变level来控制一些语句是否被输出,比如当我们把level改成DEBUG级别:

logging.basicConfig(level=logging.DEBUG)

得到输出如下:

INFO:__main__:Start reading database
DEBUG:__main__:Records: {'john': 55, 'tom': 66}
INFO:__main__:Updating records ...
INFO:__main__:Finish updating records

2.logging模块介绍

logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。有5个level,分别是debug,主要是查看一下程序运行的信息,一般是调试程序要看的信息;info,是我们看程序是否如预料执行的信息;warn,意料之外的,但是不影响程序运行;errorcritical就是一些比较严重的问题,会影响程序运行。默认leval是warn,这个时候debug级别和info级别就不会被输出到日志里了。如果想要看到这些信息,就需要进行一些设置。

3.基础设置

我们主要调用basicConfig(***kwargs*)这个函数对logging进行设置。

常用的参数如下:

  • level:主要调整logging的级别

  • filename:输出日志的路径

  • filemode:直接写入还是追加写入

  • format:输出的格式

我们通过调整format,可以输出我们想要的格式,比如:

importlogginglogging.basicConfig(format='%(asctime)s-%(message)s',datefmt='%d-%b-%y%H:%M:%S')logging.warning('Adminloggedout')

结果是:

12-Jul-18 20:53:19 - Admin logged out

这就是在format参数中设置了时间的,所以得到了时间,我们可以输出多种想要的信息

感谢各位的阅读,以上就是“Python中logging模块如何使用”的内容了,经过本文的学习后,相信大家对Python中logging模块如何使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是恰卡编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

发布于 2022-03-03 21:26:24
收藏
分享
海报
0 条评论
33
上一篇:Python如何使用turtle和tkinter让小海龟互动起来 下一篇:Springboot如何使用具体化类和配置来缩短单元测试时间
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码