简单 Python 快乐之旅之:Python 基础语法之日志专题

这篇博客详细介绍了Python的logging模块,包括如何记录日志到文件、设置日志级别以及打印DEBUG、INFO、WARNING、ERROR和CRITICAL级别的日志。通过示例展示了如何使用logging模块的不同方法,如debug(), info(), warning(), error()和critical(),以及如何通过handler过滤日志输出。" 116220979,8239095,Python文件操作详解:文本与二进制、os与os.path模块,"['Python', '文件操作', 'os模块', 'os.path模块']
摘要由CSDN通过智能技术生成

1. Python 日志示例

日志能够帮助我们监控程序的运行状态。通过日志我们可以看到程序是否引发了什么警告或错误。我们记录时间戳、消息、堆栈等详细信息。
在程序中使用任何日志函数之前,你需要显式地导入 Python 的 logging 库。

import logging
# then some logging statement(s)

以下是 Python 中 logging 库使用的一个例子。

import logging
logging.warning("This is a simple logging example")

执行和输出:
logging 库使用的一个例子.jpg
接下来我们来学习一下日志的不同级别、如何设置日志级别等一些内容。

2. 记录日志消息到日志文件

使用 Python 的 logging 模块,你可以将调试行、信息、警告、错误、严重错误等记录到日志文件,而不只是回显到控制台。
要记录数据到文件中去,使用 logging 的基本配置即可,将日志文件的地址传给 filename 参数。如果该文件不存在,Python 系统将新建这个文件,所以你应该分配该文件所在目录的文件的新建和写入权限给启动该 Python 程序的用户。使用 logging 模块的 basicConfig() 函数来设置 filename 参数的基本语法如下所示。

logging.basicConfig(filename="mylog.log")

你可以根据自己的需要对文件名进行改写。

2.1. 记录 logging 消息到日志文件

在接下来的示例中,我们将使用 basicConfig() 函数设置 logging 配置,记录消息到一个名为 mylog.log 的外部文件。如果不提供完整路径的话,该文件将会在程序的执行目录下创建。

# Python Example for Logging Messages to Log File
import logging
logging.basicConfig(filename="mylog.log")
logging.warning("This is a WARNING message")
logging.error("This is an ERROR message")
logging.critical("This is a CRITICAL message")

执行和输出:
记录 logging 消息到日志文件.png
查看当前程序目录,发现有新文件 mylog.log 生成:
mylog.log 日志文件生成.png
查看其内容:
查看 mylog.log 内容.png
可见 logging 消息已追加到了该文件。

2.3. 使用 handler 记录 logging 消息到日志文件的例子

本示例在上小节例子的基础上做了改进,使用了 handler 来处理日志文件的写入。

# Python Example for Logging Messages to Log File using Handler
import logging
# create a logger
logger = logging.getLogger("mylogger")
handler = logging.FileHandler("mylog.log")
logger.addHandler(handler)
logger.warning("This is a WARNING message by handler")
logger.error("This is an ERROR message by handler")
logger.critical("This is a CRITICAL message by handler")

执行和输出:
使用 handler 记录 logging 消息到日志文件的例子.png
再次查看日志文件:
handler 使用执行和输出后的日志.png
logging 消息已追加到了该日志文件中,只是格式上与上小节中的略有不同。

3. 打印 DEBUG 级别的日志

要使用 logging 打印一行 DEBUG 级别的日志,

  • 检查日志级别是否至少是 DEBUG
  • 使用 logging.debug() 方法,将消息作为参数传递给它,以将 DEBUG 行日志打印到控制台或日志文件。

logging 级别设置为 DEBUG 以后,logging 将会把 DEBUG 行打印到控制台或日志文件。
当你设置 logging 级别为 INFOWARNINGERRORCRITICAL 时,DEBUG<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值