Python之Loguru日志库:替代标准logging的现代方案

目录
日志是软件工程中最基础也是最重要的能力之一。无论是Web服务、AI应用、数据处理任务、自动化脚本、后台Worker,都离不开日志。Python标准库提供了logging。它功能强大,但实际工程使用中经常会遇到一些问题:
- 配置复杂
- 格式设置繁琐
- 文件滚动需要额外配置
- 多模块项目初始化麻烦
例如标准logging:
|
|
简单记录一条日志到文件,需要很多代码。这也是为什么可以尝试用Loguru。

Loguru是什么?
Logure是一个现代Python日志库。它的核心实际理念:
用一个简单、开箱即用的Logger,替代Python logging复杂配置。
核心特点:
- 一个全局logger
- 无需配置Handler
- 自动格式化
- 异常捕获
- 彩色输出
- 支持结构化日志
安装
|
|
示例:
|
|
无需创建Logger、Handler以及Formatter。
基础使用
Loguru最简单的使用:
|
|

日志级别
Loguru支持常见日志等级:
| Level | 用途 |
|---|---|
| TRACE | 最详细调试 |
| DEBUG | 调试信息 |
| INFO | 普通运行信息 |
| SUCCESS | 成功事件 |
| WARNING | 警告 |
| ERROR | 错误 |
| CRITICAL | 严重错误 |
其中SUCCESS是Loguru相比logging增加的等级。
输出到文件
项目通常要将日志输出到文件:
|
|
运行后会生成app.log,内容如下:

日志文件自动切割
生产环境日志不能无限增长。例如,每天生成一个日志文件:
|
|
按文件大小切割。例如,超过100MB:
|
|
按时间保存。例如,每小时:
|
|
自动删除旧日志
生产系统通常需要保留周期。例如,保留30天:
|
|
超过时间,自动删除.
日志压缩
为节省磁盘空间,可对文件进行压缩:
|
|
异常自动记录
这是Loguru非常方便的功能。普通写法:
|
|
Loguru:
|
|
Loguru + 多线程
|
|
输出:

总结
Loguru解决了Python日志系统中大量重复配置问题。它最大的优势:
- 简单
- 开箱即用
- 文件管理方便
- 异常追踪方便
相关内容
- uv完全指南:下一代Python包管理器
- Python中的__all__:模块公开API设计的关键工具
- CPython 源码剖析:Python 运行的奥秘
- BeautifulSoup库使用
- Requests库使用
- Matplotlib简明教程
- Pandas简明教程
- 用Keras搭建卷积神经网络
- Tkinter简明教程
- 从零开始学习GANs
- OpenCV简明教程
请作者喝杯咖啡!
支付宝
微信