Python中loguru的配置和使用

本文介绍了如何通过pip安装并使用loguru库来快速配置Python日志,相比传统logging,loguru减少了繁琐的配置,支持文件轮转和异步写入,提高了开发效率。

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

安装依赖包:pip install loguru
直接用,简单粗暴,比logging少了很多配置

from loguru import logger
# 配置日志记录文件
logger.add('test.log', rotation="200KB", encoding="utf-8", enqueue=True, retention="1 second")
# rotation为滚动创建条件设置200K新建一份,
# retention为文件最长保留时间,
# enqueue代表异步写入,在多进程同时往日志文件写日志的时候使用队列达到异步功效
logger.info("搞咩啊!")
logger.warning("搞咩啊!")
logger.error("搞咩啊!")
logger.debug("搞咩啊!")
### 配置 Loguru 日志Loguru 提供了一种简洁而强大的方式来管理应用程序中的日志记录。不同于 Python 标准的 `logging` 库,Loguru 使用单个全局 logger 实例,在整个应用过程中保持一致性[^1]。 #### 基本配置 为了开始使用 Loguru,首先需要安装该库: ```bash pip install loguru ``` 接着可以通过简单的几行代码引入并初始化这个全局 logger: ```python from loguru import logger logger.add("file_{time}.log", format="{time} {level} {message}", level="INFO") ``` 这段代码设置了将日志消息保存到带有时间戳标记的日志文件中,并指定了日志条目的格式以及最低记录级别为 INFO。 #### 自定义上下文属性 通过调用 `bind()` 方法可以向每一条日志添加特定于当前环境或会话的信息作为上下文数据。例如: ```python context_logger = logger.bind(user_id=12345) context_logger.info("User logged in.") ``` 这样每次当这条命令被执行的时候,“user_id” 将被自动附加给所生成的日志项。 #### 过滤器设置 对于多模块项目来说,可能希望针对不同部分采用差异化的日志策略。利用过滤函数可实现这一点: ```python def module_filter(record): return "module_name" not in record["extra"] or record["extra"]["module_name"] != "skip_module" logger.add(sys.stderr, filter=module_filter) ``` 这里展示了一个例子,其中只有不属于指定名称空间的消息才会发送至标准错误流。 #### 添加处理器 除了基本的日志输出外,还可以注册额外的目标用于接收日志事件。这通常涉及到网络服务端点、数据库表或者其他持久化存储介质。比如要将日志转发给 Elasticsearch,则需构建相应的 handler 函数并与 `add()` 接口关联起来[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值