首页 > 其他分享 >Loguru:简洁易用的日志库

Loguru:简洁易用的日志库

时间:2024-05-09 14:49:13浏览次数:19  
标签:__ 02 logger Loguru 易用 日志 message

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 是完美的软件包。

标签:__,02,logger,Loguru,易用,日志,message
From: https://www.cnblogs.com/luckzack/p/18182216

相关文章

  • pony:简洁易用的 ORM 库
    PythonPonyORM是一个功能强大且易于使用的ORM库,它提供了简洁的语法和强大的功能,使得开发者能够更轻松地进行数据库操作。PythonPonyORM的主要特点包括:简单易用:PythonPonyORM提供了简单易懂的语法,使得开发者可以快速上手并进行数据库操作。强大的查询功能:PythonPon......
  • C:$Mft(NTFS主文件表)C:$LogFile(NTFS卷日志)C:$BitMap(NTFS可用空间映射) C:$Mft$BITMAP C
    C:$Mft(NTFS主文件表)是NTFS文件系统中的一个重要组成部分。它是一个特殊的系统文件,用于记录NTFS分区中所有文件和目录的元数据信息。MFT实际上是MasterFileTable的缩写,意为主文件表。在NTFS文件系统中,每个文件和目录都有一个对应的记录,这些记录存储在MFT中。MFT中的每个记录......
  • 日志 配置文件 依赖注入 系统自动日志 控制台应用
    日志级别学习//Trace:0,包含最详细的消息。这些消息可能包含敏感的应用数据。//Debug:1,用于调试和开发。//Information:2,一般用于跟踪系统的日志。//Warning:3,一般用于记录异常事件或意外事件。//Error:4,一般用于记录无法处理的异常。//Critical:5,需要马上处理的失败,比如数......
  • python logger 打印日志错误行数
    pythonlogger打印日志错误行数importloggingapp=Flask(__name__)#配置日志handler=logging.FileHandler('app.log')#日志输出到文件handler.setLevel(logging.INFO)#设置日志级别formatter=logging.Formatter('%(asctime)s-%(name)s-%(levelname)......
  • Kubernetes脚本——K8s日志检查
    #!/bin/bashecho"docker日志采用建议的syslog收集检查,期望结果:1---------------------------------------------------------------------">log_check_result.txtansible-i./hostsall-mshell-a'sudofind/apps/logs/docker/-namedockerd.log|wc-l'&......
  • Git 学习日志1
    目录1.Git安装2.Git最小配置3.创建第一个仓库并配置local信息3.1初始化仓库3.2查看新创建的仓库,并配置local信息3.3添加readme.md文件3.4过程详解4.查看版本历史5.gitk图形化界面6.增加远程库出现的问题7.版本回退1.Git安装官网下载并安装Git官网指导教程中文版资源......
  • Windows Server查看W3SVC IIS服务器中对应的网站日志
    WindowsServer查看W3SVCIIS服务器中对应的网站日志https://www.cnblogs.com/xiaoyou2018/p/16592930.htmlWindowsServer如何查看IIS服务器中对应的网站日志https://shiyousan.com/post/636240709447985366存在多个W3SVC文件的原因https://blog.csdn.net/qq_38150880/a......
  • .net 8中使用过滤器记录系统日志 ActionFilter+Serilog
    1、添加自定义日志过滤器类usingSerilog;usingMicrosoft.AspNetCore.Mvc.Filters;namespaceADTO.CMS.Common.Filter{///<summary>///日志记录过滤器///</summary>publicclassLogActionFilter:IActionFilter{///<summary>///......
  • 2024.5 模拟赛日志
    NOI2024数据结构选讲「广铁一中张冀飞」(20240427)多校NOI2024国赛模拟赛8(20240429)多校NOI2024国赛模拟赛9(20240430)NOI2024简单杂题选讲「金华一中毛艺婷」(20240501)多校NOI2024国赛模拟赛10(20240503)NOI2024网络流问题及其简单应用「重庆八中谢自均」(20240506)剩余7题。最小割......
  • Loguru:简洁易用的日志库
    00—Loguru库介绍在编程世界里,日志记录是一项基础而重要的任务,它帮助我们理解软件的运行状态,监控问题,并进行故障排查。然而,Python的标准日志模块虽然功能强大,但对于初学者来说,配置过程可能既复杂又繁琐。今天,我要介绍的是一个名为Loguru的Python库,它以简洁和易用性著称......