Loguru:简洁易用的日志库

00

Loguru 库介绍

在编程世界里,日志记录是一项基础而重要的任务,它帮助我们理解软件的运行状态,监控问题,并进行故障排查。
然而,Python 的标准日志模块虽然功能强大,但对于初学者来说,配置过程可能既复杂又繁琐。
今天,我要介绍的是一个名为 Loguru 的 Python 库,它以简洁和易用性著称,让日志记录变得轻松愉快。
现在是 GitHub 上最流行的 Python 第三方日志框架 ,约 13k 个 Star
https://github.com/Delgan/loguru
Loguru:简洁易用的日志库-0
Loguru 是一个第三方日志记录库,它的设计初衷是为了使日志记录变得无痛。与 Python 的标准 logging 模块相比,Loguru 提供了以下优势:

  • 无需配置:使用 Loguru,你可以直接开始记录日志,无需繁琐的配置过程。
  • 易于使用:Loguru 提供了简单直观的 API,让你轻松记录日志。
  • 功能丰富:尽管使用简单,但 Loguru 支持许多高级功能,如文件回滚、日志压缩、彩色日志输出等。

Loguru:简洁易用的日志库-1
更多内容,见免费知识星球
01

快速开始

要开始使用 Loguru,首先需要安装这个库。打开你的终端或命令提示符,运行以下命令:

pip install loguru

安装完成后,你就可以在你的 Python 脚本中使用 Loguru 了。下面是一个简单的示例:

from loguru import logger

logger.add("my_log_file.log")  # 将日志输出到文件
logger.info("这是一条信息日志")
logger.warning("这是一条警告日志")
logger.error("这是一条错误日志")

在这个示例中,我们首先导入了 Loguru 的 logger 对象,然后使用 add 方法添加了一个日志文件。
之后,我们记录了不同级别的日志信息。是不是非常简单?

高级功能

Loguru 不仅仅是简单易用,它还提供了许多高级功能,比如:

  • 自动日志轮转:你可以设置日志文件的大小或时间间隔,达到限制后自动创建新文件。
  • 日志压缩:Loguru 可以自动压缩旧的日志文件,节省存储空间。
  • 丰富的日志信息:默认情况下,Loguru 会记录许多有用的信息,如时间、文件名、行号等。

例如,如果你想每天自动创建一个新的日志文件,并且保留最近 7 天的日志,你可以这样做:

logger.add("my_log_{time}.log", rotation="1 day", retention="7 days")

02

效果图

Loguru:简洁易用的日志库-2
Loguru:简洁易用的日志库-3
Loguru:简洁易用的日志库-4
03

实例

pip install loguru

输出

Collecting loguru
 Downloading loguru-0.6.0-py3-none-any.whl (58 kB)
 |████████████████████████████████| 58 kB 1.2 MB/s
Installing collected packages: loguru
Successfully installed loguru-0.6.0
debug()
# app.py

from loguru import logger

logger.debug("Happy logging with Loguru!")

输出

2024-02-04 11:16:59.511 | DEBUG | __main__:<module>:3 - Happy logging with Loguru!

输出包含以下详细信息:

  • 2024-02-04 11:16:59.511:时间戳。
  • DEBUG:日志级别,用于描述 日志消息。
  • main::3:文件位置、范围和行号。在这个 例如,文件位置是因为您直接执行了文件。范围是因为记录器未找到 在类或函数中。mainapp.py
  • Happy logging with Loguru!:日志消息。

日志级别
日志级别是日志记录中广泛使用的概念,它们指定日志记录的严重性,以便可以根据消息的紧急程度对消息进行过滤或确定优先级, Loguru 提供七个独特的日志级别

# app.py
. . .

logger.trace("A trace message.")
logger.debug("A debug message.")
logger.info("An info message.")
logger.success("A success message.")
logger.warning("A warning message.")
logger.error("An error message.")
logger.critical("A critical message.")

输出

2024-02-04 11:58:33.224 | DEBUG | 
__main__
:<module>:12 - A debug message.
2024-02-04 11:58:33.224 | INFO | 
__main__
:<module>:13 - An info message.
2024-02-04 11:58:33.225 | SUCCESS | 
__main__
:<module>:14 - A success message.
2024-02-04 11:58:33.226 | WARNING | 
__main__
:<module>:15 - A warning message.
2024-02-04 11:58:33.226 | ERROR | 
__main__
:<module>:16 - An error message.
2024-02-04 11:58:33.227 | CRITICAL | __main__:<module>:17 - A critical message.

这些消息会根据其日志以不同的颜色打印。
Loguru:简洁易用的日志库-5

_____                   _ 
  / ____|                 | |
 | |        ___     ___   | |
 | |       / _ \   / _ \  | |
 | |____  | (_) | | (_) | | |
  \_____|  \___/   \___/  |_|

抱个拳 总个结
——
日志记录是任何开发人员工作中绝对重要的部分。
在正确的时间返回正确的日志消息可能是快速修复代码与熬夜找出问题所在的区别。
日志记录很重要,经常遵循敏捷开发的开发人员不能花费太多时间配置或设置记录器,这就是为什么我认为 Loguru 是完美的软件包。

posted @ 2024-05-09 14:40  luckzack  阅读(114)  评论(0编辑  收藏  举报