Python
- 基础
-
库
- 其他
- argparse命令行参数解析
- asyncio自带异步编程库
- aiofiles异步文件读写库
- beautifulsoup4_HTML_XML解析库
- colorama_在终端输出漂亮的字
- datasets数据集处理
- html2text
- httpx_HTTP请求库
- litellm
- loguru日志库
- numpy科学计算基础库
- pillow图像处理
- pydantic数据验证
- pyyaml
- requests_HTTP请求库
- tenacity重试
- tiktoken计算Token量
- torch机器学习_深度学习框架
- tomli TOML文件解析库
- tomllib 自带TOML文件解析库
- unidiff_文本_文件差异对比
- uvicorn_Web服务器
- langchain
**loguru 是一个 Python 第三方日志库,用于** **更简单、更强大、更美观地记录程序运行日志**,它是标准库 `logging` 的一个优秀替代方案,旨在让日志记录变得 **更直观、功能更丰富,且无需复杂配置**。
---
## 一、loguru 是什么?(简单理解)
- loguru 是一个第三方库,用来**在 Python 中记录日志(log)**,比如记录程序运行信息、错误、调试内容等。
- 它的最大特点是:**开箱即用,无需复杂配置,几行代码就能输出结构化、带颜色、可保存到文件的日志**。
- 相比 Python 自带的 `logging` 模块,loguru **更简单易用、功能更强大,支持彩色输出、文件日志、异常捕获、日志轮转等**,深受开发者喜爱。
---
## 二、loguru 解决什么问题?
当你在开发或运维 Python 程序时,通常需要:
| 需求 | 说明 |
|------|------|
| **记录程序运行信息** | 比如打印运行状态、调试信息、关键步骤等 |
| **记录错误和异常** | 捕获异常并记录详细堆栈,方便排查问题 |
| **将日志输出到控制台和文件** | 同时查看日志和持久化保存 |
| **日志分级(如 DEBUG、INFO、WARNING、ERROR)** | 控制不同重要程度的日志输出 |
| **日志格式美观、带颜色、易读** | 提升可读性,尤其在开发阶段 |
| **不想写复杂的 logging 配置** | 标准库 `logging` 配置繁琐,loguru 更简单 |
loguru 就是为了解决这些问题而生,**让日志记录变得又快又好**。
---
## 三、安装 loguru
使用 pip 安装:
```bash
pip install loguru
```
---
## 四、loguru 基本使用示例
### 示例 1:最简单的日志记录(直接打印到控制台)
```python
from loguru import logger
logger.debug("这是一条调试信息")
logger.info("这是一条普通信息")
logger.warning("这是一条警告信息")
logger.error("这是一条错误信息")
```
✅ **特点:**
- 无需配置,导入即可使用
- 不同级别日志用不同颜色显示(控制台中更直观)
- 默认输出到控制台
---
### 示例 2:将日志保存到文件
```python
from loguru import logger
# 添加一个日志文件,日志会同时输出到控制台和文件
logger.add("app.log") # 日志将保存到当前目录下的 app.log 文件
logger.info("这条信息会同时显示在控制台和保存到 app.log 文件中")
```
---
### 示例 3:记录异常(自动捕获堆栈信息)
```python
from loguru import logger
@logger.catch
def my_function():
return 1 / 0 # 故意制造一个错误
my_function() # 出错时,loguru 会自动记录详细的错误信息和堆栈
```
✅ **特点:**
- 使用 `@logger.catch` 装饰器,可以**自动捕获函数内发生的任何异常,并记录完整堆栈**
- 非常适合用于调试和线上异常监控
---
## 五、loguru 常用功能
| 功能 | 说明 |
|------|------|
| `logger.debug/info/warning/error/critical` | 不同级别的日志输出 |
| `logger.add("文件名")` | 将日志输出到文件,支持日志轮转、按大小/时间分割等 |
| `@logger.catch` | 自动捕获函数中的异常并记录 |
| **日志格式自定义** | 可以自定义日志的输出格式、时间、级别等 |
| **日志轮转(Rotation)** | 比如按文件大小或日期分割日志文件,避免单个文件过大 |
| **日志保留策略** | 可设置只保留最近 N 个日志文件 |
| **支持输出到多种目标** | 如控制台、文件、网络、Syslog 等 |
---
## 六、总结(中文)
> **loguru 是一个功能强大、简单易用的 Python 日志库,提供了比标准库 logging 更优雅、更便捷的日志记录方式,支持彩色输出、文件保存、异常捕获、日志轮转等功能,是开发调试和线上运维的好帮手。**
>
> 它让 Python 的日志记录变得像写 print 一样简单,但功能却专业得多。
---
✅ **简单来说:**
> 如果你想要在 Python 中**轻松记录程序日志,且不想写复杂的配置,loguru 是最推荐的选择,它简单、强大、开箱即用!**