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

Loguru:简洁易用的日志库

时间:2024-05-07 14:46:22浏览次数:22  
标签:__ 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/18177297

相关文章

  • Python日志管理之Loguru
    1.安装pipinstallloguru2.快速使用fromloguruimportloggerlogger.add("my_log.log",rotation="10MB")#自动分割日志文件logger.info("这是一个信息级别的日志")3.日志器配置方式1.导入即用fromloguruimportlogger,有且只有1个日志器对象,简化配置复杂性......
  • Ranorex日志备份
    1.简要由于我这里设置了定期删除日志文件,有关一些测试成功的日志报告就需要我们提前保存!请同时备份rxlog和data文件!!!2.复原2.1复原并不是放在项目根目录下的reports文件夹中,注意到这里都只是快捷方式2.2应当放到bin>debug>Reports>2024...下,这里的实际日期......
  • 如何实现一个简单易用的 RocketMQ SDK
    2018年,做为架构负责人,接到一个架构需求:实现一个简单易用的RocketMQSDK。因为各个团队RocketMQ原生客户端配置起来千奇百怪,有的配置存在风险,各团队负责人都需要一个简洁易用的RocketMQSDK。我立马调研相关开源的方案,当时RocketMQ-Spring项目并没有开源,而阿里云的ONS......
  • Logback日志框架
    简介Logback是一个成熟和稳定的日志框架,是Log4j框架的继承者,具有更好的性能和更加丰富的配置选项。它可以与SpringBoot框架集成,实现日志输出到控制台或者文件。基本概念Logback由三个模块组成logback-core:提供了更低级别的功能,最基本的日志系统。logback-classic:提供了更高......
  • ENVI57扩展工具:FLAASH Easy-to-Use 大气校正易用版 [新]
    本扩展工具要求ENVI5.7及以上版本。低版本ENVI可以使用如下扩展工具:https://www.cnblogs.com/enviidl/p/16393415.html 自ENVI5.7版本开始,FLAASH大气校正功能提供了官方Task接口,详细信息可查看ENVI帮助内ENVI>Programming>ENVITasks>ListofTasks>FLAASH章节......
  • 在Linux中,如何进行日志审计?
    在Linux系统中,日志审计是确保系统安全性的重要部分,它可以帮助系统管理员监控和记录系统中发生的各种事件。以下是进行日志审计的步骤和一些常用的工具:1.启用系统审计Linux系统中的审计系统通常由auditd守护进程提供。首先,确保auditd已经安装并启动:sudoapt-getinstallauditd......
  • Windows日志检索和分析
    前言在运维工作过程中,如若windows服务器被入侵,往往需要检索和分析相应的安全日志。除了安全设备,系统自带的日志就是取证的关键材料,但是此类日志数量庞大,需要高效分析windows安全日志,提取出我们想要的有用信息,就显得尤为关键。本文将介绍windows的日志类型、存放位置、检索方案......
  • web日志取证分析工具
    工具简介此工具可从单一可疑线索作为调查起点,遍历所有可疑URL(CGI)和来源IP。下载地址https://security.tencent.com/index.php/opensource/detail/15使用方法PerlLogForensics.pl-filelogfile-websvr(nginx|httpd)[-ipip(ip,ip,ip)|-urlurl(url,url,url)]File:日志......
  • 在Linux中,如何使用logrotate命令管理日志文件?
    logrotate是一个在Linux系统中用来管理和维护日志文件的工具。它可以自动地对日志文件进行压缩、删除旧的日志文件、创建新的日志文件,以及在日志轮换时运行指定的脚本。以下是如何使用logrotate命令的一些基本步骤和配置方法:1.安装logrotate在大多数Linux发行版中,logro......
  • 在Linux中,如何查看系统日志?
    在Linux中查看系统日志有多种方法,主要取决于你的Linux发行版和所使用的日志管理系统。以下是几种常见的查看系统日志的方法:1.使用journalctl(Systemd日志系统)对于使用Systemd作为初始化系统的现代Linux发行版(如Ubuntu22.04及以后、Fedora、CentOS7及以上版本等),journalctl是......