Python中的logger作用(from loguru import logger)

文章目录

Loguru 是一个非常流行且易用的 Python 日志记录库, logger 是其主要的日志记录工具,用来记录程序运行中的信息,如调试信息、错误信息、运行状态等。


具体解释

  1. Loguru 库的作用:

    • Loguru 是一个功能强大、易用性高的日志记录库(类似于 Python 标准库中的 logging 模块)。
    • 它提供了简洁的 API,便于快速集成日志记录功能,尤其适合初学者和中小型项目。
  2. logger 对象的作用:

    • logger 是 Loguru 提供的默认的日志记录实例,可以直接使用 logger 来输出日志。
    • 它包含了一系列方法(如 info()debug()warning() 等),用于记录不同级别的日志信息。
  3. from loguru import logger 的意义:

    • 这句代码从 Loguru 库中导入了 logger 对象,之后我们可以直接使用 logger 来记录日志,而无需额外配置。

示例代码

以下是一个用 logger 的简单日志记录示例:

python 复制代码
from loguru import logger

# 输出一般信息
logger.info("程序开始运行")

# 输出调试信息
logger.debug("这是一条调试信息")

# 输出警告信息
logger.warning("这是一个警告")

# 输出错误信息
logger.error("出错了!")

运行结果:

复制代码
2023-11-06 12:00:00.000 | INFO     | __main__:<module>:3 - 程序开始运行
2023-11-06 12:00:00.001 | DEBUG    | __main__:<module>:6 - 这是一条调试信息
2023-11-06 12:00:00.002 | WARNING  | __main__:<module>:9 - 这是一个警告
2023-11-06 12:00:00.003 | ERROR    | __main__:<module>:12 - 出错了!

为什么使用 Loguru?

与标准库的 logging 模块相比,Loguru 提供了一些显著的优势:

  1. 易用性:

    • 不需要复杂的配置文件。
    • 开箱即用,直接导入 logger 即可记录日志。
  2. 丰富的日志格式:

    • 日志信息默认包含时间戳、日志级别、文件名、行号等。
    • 支持自定义日志格式,并且可以轻松定制输出格式。
  3. 支持多种输出:

    • 日志可以输出到控制台、文件,甚至其他外部服务。

    • 例如,日志可以同时写入控制台和文件:

      python 复制代码
      logger.add("app.log", level="INFO")  # 将 INFO 级别及以上的日志写入文件
      logger.info("日志输出到控制台和文件")
  4. 支持异步和线程安全:

    • Loguru 自动支持异步日志记录,且在多线程环境中表现良好。
  5. 功能强大的特性:

    • 支持日志过滤、日志旋转(按大小或时间分割日志文件)、日志压缩等。

常见使用场景

  1. 记录调试信息和程序状态:

    • 开发阶段用 logger.debug()logger.info() 输出调试信息,帮助分析程序运行状态。
  2. 记录错误信息:

    • 使用 logger.error()logger.exception() 捕捉并记录异常,方便排查问题。

    • 示例:

      python 复制代码
      try:
          1 / 0
      except ZeroDivisionError as e:
          logger.exception("捕获到异常:")

      输出:

      复制代码
      2023-11-06 12:00:00.004 | ERROR    | __main__:<module>:4 - 捕获到异常:
      Traceback (most recent call last):
        File "example.py", line 3, in <module>
          1 / 0
      ZeroDivisionError: division by zero
  3. 日志文件管理:

    • 将日志记录到文件,并设置日志文件大小限制或日志保留时间。

    • 示例:

      python 复制代码
      logger.add("runtime.log", rotation="1 MB", retention="7 days", compression="zip")
      logger.info("这是一个记录到文件的日志示例")

总结

from loguru import logger 的作用是引入 Loguru 库中的 logger 对象,用于记录程序的运行日志。通过 logger,我们可以轻松记录不同级别的信息,并将日志输出到控制台、文件或其他目标。

Loguru 因其简单的 API 和强大的功能,是替代标准库 logging 的优秀选择,特别适合需要快速实现日志功能的开发场景。

相关推荐
云烟成雨TD1 天前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
Csvn1 天前
🌟 LangChain 30 天保姆级教程 · Day 13|OutputParser 进阶!让 AI 输出自动转为结构化对象,并支持自动重试!
python·langchain
于慨1 天前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
石小石Orz1 天前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
swg3213211 天前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
从前慢丶1 天前
前端交互规范(Web 端)
前端
gelald1 天前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川1 天前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月1 天前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
CHU7290351 天前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序