Python 日志模块logging的常用用法

Python 的 logging 模块提供了灵活的方式来输出日志信息,它比简单的 print 函数强大得多,支持不同级别的日志记录、日志持久化、日志格式定制等功能。以下是 logging 模块的一些常用用法。

常用用法

  1. 配置日志 (logging.basicConfig): 配置日志的基础设置,如日志级别、日志文件、日志格式等。

  2. 设置日志级别: 日志级别从低到高分为 DEBUG, INFO, WARNING, ERROR, 和 CRITICAL。

  3. 记录日志: 使用 logging.debug(), logging.info(), logging.warning(), logging.error(), 和 logging.critical() 来记录不同级别的日志。

  4. 日志格式: 可以自定义日志的格式,包括时间戳、日志级别、消息等。

  5. 日志处理器 (Handler): 可以将日志输出到不同的地方,如控制台、文件、网络等。

  6. 日志过滤器 (Filter): 可以根据需要过滤日志消息。

  7. 日志格式化 (Formatter): 可以定义日志的输出格式。

实战代码演示

以下是一个简单的示例,演示如何使用 logging 模块:

import logging

# 配置日志
logging.basicConfig(
    level=logging.DEBUG,  # 设置最低捕获级别
    format='%(asctime)s - %(levelname)s - %(message)s',  # 定义日志格式
    datefmt='%Y-%m-%d %H:%M:%S',  # 定义时间格式
    handlers=[
        logging.FileHandler("app.log"),  # 将日志同时输出到文件
        logging.StreamHandler()  # 将日志输出到控制台
    ]
)

# 记录不同级别的日志
logging.debug("这是一条 debug 级别的日志")
logging.info("这是一条 info 级别的日志")
logging.warning("这是一条 warning 级别的日志")
logging.error("这是一条 error 级别的日志")
logging.critical("这是一条 critical 级别的日志")

try:
    # 模拟一个错误
    result = 10 / 0
except ZeroDivisionError:
    logging.exception("发生错误")  # 记录异常信息

在这个示例中:

  • 使用 basicConfig 配置了日志系统,包括日志级别、格式、时间格式以及日志的输出位置(控制台和文件)。
  • 记录了不同级别的日志信息,只有 INFO 级别以上的日志会被输出,因为配置的最低级别是 DEBUG
  • 使用 try-except 块来捕获一个异常,并使用 logging.exception 来记录异常的堆栈跟踪,这是一个非常方便的方式来记录错误。

运行上述代码后,你会在同一目录下的 app.log 文件中看到日志的持久化输出,同时控制台也会显示相应的日志信息。

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值