溪客(编程代码) 溪客(编程代码)

  • 今天是2025年08月20日 Wednesday
  • 首页
  • 知识
  • 网址
  • AI助手

Python

首页 / 知识 / Python
  • 基础
    • Conda
    • Jupyter
    • dump
    • CSharp2Python
    • 关于模块导入
    • 关于推导式
    • 关于元组
    • set和数组的区别
    • 关于Literal
    • 关于iter
    • 关于setup.py
    • 路径拼接
    • 方法命名约定
  • 库
    • 其他
    • 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
    • langchain-chatchat
    • langchain-qianfan
**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 是最推荐的选择,它简单、强大、开箱即用!**
© 2022 - 溪客(编程代码) - 粤ICP备10217501号 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)