更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

python中的logging日志模块

  • 发布:Python培训
  • 来源:Python开发和自动化测试
  • 时间:2019-07-05 14:31

日志是程序不可或缺的一部分。它可以记录程序的运行情况,帮助我们更便捷地发现问题,而python中的logging日志模块给我们提供了这个机会。

logging给我们提供了五种函数用来输出日志:debug()、info()、waring()、error()和critical()

这五种函数的使用场景:

DEBUG:详细信息,典型地调试问题时会感兴趣。

INFO: 证明事情按预期工作。

WARNING: 表明发生了一些意外,或者不久的将来会发生问题(如‘磁盘满了’)。软件还是在正常工作。

ERROR:由于更严重的问题,软件已不能执行一些功能了。

CRITICAL:严重错误,表明软件已不能继续运行了。

这篇文章只介绍logging的简单使用,下一篇文章将会介绍设置复杂的配置,以便满足更多的需求

简单配置

简单的配置适用于小的脚本文件中或者是小的项目中

python中的logging日志模块

首先我们利用了logging.basicConfig()函数设置logging。下面介绍其中的属性

level,设置需要捕获的日志级别,如果日志消息的级别高于设定的值则捕获该日志消息把它打印到屏幕上或者存储到文件中,如果低于该级别则不捕获

format,用于设置日志消息的格式

Attribute Format Description

asctime %(asctime)s 将日志的时间构造成可读的形式,默认情况下是‘2016-02-08 12:00:00,123’精确到毫秒

filename %(filename)s 包含path的文件名

funcName %(funcName)s 由哪个function发出的log

levelname %(levelname)s 日志的最终等级(被filter修改后的)

message %(message)s 日志信息

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

pathname %(pathname)s 完整路径

process %(process)s 当前进程

thread %(thread)s 当前线程

filemode:设置记录日志的方式,'w'将会重新改写整个日志文件,'a'将会在原来的文件中追加内容

3. datefmt:可以设置日志消息中时间的显示格式

4. filename:设置将日志记录到那个文件当中,如果不设置这个值,日志将会打印到屏幕上

5. filemode:设置将日志写入文件的方式,'a'是追加到文件中,'w'是重写文件

注意:上面配置的属性都是可选的,他们都是有默认值的

分析代码

在代码中我们将日志以追加的方式写到同目录中的my.log中,并设置了消息的格式和处理消息的级别是INFO,所以只有

INFO和比INFO级别更高的日志消息我们才会记录捕获

我们设置了两个函数test1、test2,在test1中

python中的logging日志模块

test1

我们可以在日志消息中引用变量,我们看看运行的效果

python中的logging日志模块

my.log

可以看到只在my.log文件中写入了info和warning消息,而程序中的debug消息并没有写入,这是因为debug的级别小于info。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:零基础Python教程-多线程
下一篇:Python中字典合并的实现方法

零基础Python教程-多进程

Python中字典合并的实现方法

python中的logging日志模块

零基础Python教程-多线程

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省