# loguru-study **Repository Path**: learning-python_1/loguru-study ## Basic Information - **Project Name**: loguru-study - **Description**: Python的日志框架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-18 - **Last Updated**: 2026-01-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Loguru 学习笔记 ## 目录 - [第一章:了解基本日志](#第一章了解基本日志) - [第二章:配置日志](#第二章配置日志) --- ## 第一章:了解基本日志 ### 1.1 基本使用 Loguru 是一个简单易用的 Python 日志库,使用前需要先导入: ```python from loguru import logger ``` ### 1.2 日志级别 Loguru 支持以下日志级别(从低到高): - **DEBUG**: 调试信息,用于开发调试 - **INFO**: 一般信息,用于记录程序正常运行状态 - **WARNING**: 警告信息,表示可能出现问题但不影响运行 - **ERROR**: 错误信息,表示发生了错误 - **CRITICAL**: 严重错误,表示发生了严重问题 ### 1.3 输出日志 默认情况下,日志会输出到控制台,并且支持彩色显示: ```python logger.info("这是info日志") logger.debug('这是debug日志') logger.warning('这是warning日志') logger.error('这是error日志') logger.critical("这是严重错误信息日志") ``` ### 1.4 特点 - ✅ 开箱即用,无需复杂配置 - ✅ 支持彩色输出,便于阅读 - ✅ 默认输出到控制台 - ✅ 语法简洁,使用方便 --- ## 第二章:配置日志 ### 2.1 日志文件配置 使用 `logger.add()` 方法可以配置日志输出到文件: ```python logger.add( "logs/app.log", # 日志文件路径 level="DEBUG", # 设置日志级别 rotation="10 MB", # 滚动日志(按大小切割) retention="7 days", # 保留近7天的日志文件 compression="zip", # 过期的日志自动压缩为zip格式 encoding="utf-8", # 日志编码(避免中文乱码) format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}" # 自定义日志格式 ) ``` ### 2.2 配置参数说明 | 参数 | 说明 | 示例值 | |------|------|--------| | `日志文件路径` | 日志文件的保存位置 | `"logs/app.log"` | | `level` | 设置日志级别,低于此级别的日志不会被记录 | `"DEBUG"`, `"INFO"`, `"WARNING"`, `"ERROR"`, `"CRITICAL"` | | `rotation` | 日志文件滚动策略 | `"10 MB"` (按大小), `"1 day"` (按时间), `"00:00"` (每天午夜) | | `retention` | 日志文件保留时间 | `"7 days"` (保留7天), `"1 month"` (保留1个月) | | `compression` | 过期日志的压缩格式 | `"zip"`, `"gz"`, `"bz2"` | | `encoding` | 日志文件编码格式 | `"utf-8"` (避免中文乱码) | | `format` | 自定义日志格式 | `"{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}"` | ### 2.3 日志格式说明 在 `format` 参数中可以使用以下占位符: - `{time}`: 时间戳 - `{level}`: 日志级别 - `{message}`: 日志消息 - `{name}`: logger 名称 - `{file}`: 文件名 - `{function}`: 函数名 - `{line}`: 行号 ### 2.4 配置示例 #### 示例1:基本文件输出 ```python logger.add("logs/app.log", level="INFO") ``` #### 示例2:按大小滚动 ```python logger.add("logs/app.log", rotation="10 MB") ``` #### 示例3:按时间滚动 ```python logger.add("logs/app.log", rotation="1 day") ``` #### 示例4:完整配置 ```python logger.add( "logs/app.log", level="DEBUG", rotation="10 MB", retention="7 days", compression="zip", encoding="utf-8", format="{time:YYYY-MM-DD HH:mm:ss} | {level} | {message}" ) ``` ### 2.5 配置后的效果 配置完成后,日志会同时输出到: - ✅ 控制台(默认,带颜色) - ✅ 日志文件(按配置的格式和策略) --- ## 总结 ### Loguru 的优势 1. **简单易用**: 无需复杂配置即可使用 2. **功能强大**: 支持日志滚动、压缩、保留等高级功能 3. **性能优秀**: 异步日志记录,不影响主程序性能 4. **格式灵活**: 支持自定义日志格式 5. **中文友好**: 支持 UTF-8 编码,避免中文乱码 ### 常用场景 - 开发调试:使用 DEBUG 级别记录详细信息 - 生产环境:使用 INFO 或 WARNING 级别,配置日志滚动和保留策略 - 错误追踪:使用 ERROR 和 CRITICAL 级别记录异常信息 --- ## 参考资源 - [Loguru 官方文档](https://loguru.readthedocs.io/) - [GitHub 仓库](https://github.com/Delgan/loguru)