Python日志-使用loguru进行日志管理

本文详细介绍Python的日志模块Loguru,对比自带的logging模块,Loguru提供了更为便捷的使用体验。文章涵盖Loguru的安装、基本用法,如日志级别设置、格式化、异步写入、日志文件管理等高级功能,以及自定义level和结构化日志记录的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近发现python有个模块叫loguru,比自带的logging使用方便流畅的多了,下面就简单介绍下:

安装loguru:
pip install loguru

简单实例:

  from loguru import logger
    logger.debug("hello world!")

返回结果:
在这里插入图片描述
看到上面实例,你或许疑惑怎么没有Handler配置,filter过滤器等等。对此答案之一就是add().
add方法
参数简单介绍:

sink参数:可以是日志文件,也可以输出到终端,协程函数等等
level参数:日志等级
format参数:格式化日志的记录
serialize参数:将返回日志数据转换为json格式数据
enqueue参数:异步写入

接下来我们对上面参数简单的使用下:

from loguru import logger
logger.add(
    sink="demo.log",
    format="{time} {level} {message}",
    filter="error",
    level="DEBUG",
    serialize=True,
    enqueue=True,
)
@logger.catch
def func(a, b):
    return a / b
@logger.catch
def test(c):
    func(5, c)
test(0)

上面这个例子中:异步写入json数据demo.log日志文件,内容有时间+等级+信息,并且判断写入信息中是否存在error,最低等级是debug。还有一点在使用日志模块时也可以想我一样直接使用装饰器。比较直接进行 Traceback 的记录,这样更能准确的找到问题

add方法对日志文件管理

logger.add("demo1.log", rotation="500 MB")    # 文件过大就会重新生成一个文件
logger.add("demo2.log", rotation="01:00")     # 每天1点创建新文件
logger.add("demo3.log", rotation="2 week")    # 文件时间过长就会创建新文件

logger.add("demo4.log", retention="7 days")  # 一礼拜后会清空
logger.add("demo5.log", compression="zip")    # 保存zip格式

其实loguru使用还不止这些,loguru可以自定level,根据需要进行结构化日志记录,更好的日期时间处理等等。想详细的了解可以去官方文档看看:loguru官方文档
另外我这个博客主要是给自己做笔记,所以有想更流畅的入门上手可以去崔庆才博客看看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子林_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值