You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Loguru日志库:已声明日志文件后如何修改文件名?

Loguru修改已指定的日志文件名方法

可以修改,但Loguru不支持直接修改已添加的日志处理器(handler)的文件名,得通过移除旧处理器+添加新处理器的方式实现。

具体操作步骤:

  1. 保存初始logger.add()返回的处理器ID
  2. 需要修改文件名时,用这个ID移除旧的日志处理器
  3. 重新调用logger.add()指定新的文件名

代码示例:

from loguru import logger

# 保存添加文件日志时返回的handler ID
handler_id = logger.add('dummy.log', format="{time:YYYY-MM-DD HH:mm:ss} {level} {message}")

# 这里是你的业务代码逻辑
# .....

# 要修改文件名时:先移除旧handler,再添加新的
logger.remove(handler_id)
logger.add('new_dummy.log', format="{time:YYYY-MM-DD HH:mm:ss} {level} {message}")

logger.debug('my message')  # 此时日志会写入new_dummy.log

特殊情况处理:

如果当初没保存handler ID,也可以用logger.configure()重置所有日志处理器,直接替换成新的文件配置(注意这会清除所有自定义的处理器,只保留你配置的新处理器):

logger.configure(
    handlers=[
        {"sink": "new_dummy.log", "format": "{time:YYYY-MM-DD HH:mm:ss} {level} {message}"}
    ]
)

注意:调用logger.remove()时如果不传参数,会移除所有非默认的处理器(默认处理器是控制台输出),所以如果只想修改文件日志,建议精准传入对应的handler ID。

内容的提问来源于stack exchange,提问作者LeMoussel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 04:12:42