【python】loguru保存日志

本文介绍如何使用Python和Loguru库实现日志管理,重点在于设置每分钟自动创建新的日志文件。通过实例演示了如何配置loguru以在程序运行中生成并管理日志,适合开发者进行高效问题追踪。

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

# -*- coding: utf-8 -*-
import loguru
from loguru import logger
import time

#logger.add("./logs/log_{time}.log", rotation="1 minute")
logger.add("./logs/log_{time}.log", rotation="1 day")

if __name__ == '__main__':
    while True:
        time.sleep(10)
        print("dddd")
        logger.info("ddddd")
### 配置 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]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值