From 85b7b265d6d7fa561c5e5400aa77766c38649637 Mon Sep 17 00:00:00 2001
From: Kris <2893855659@qq.com>
Date: Thu, 9 Jul 2026 13:20:42 +0800
Subject: [PATCH] =?UTF-8?q?fix(logging):=20=E8=A1=A5=E5=85=A8loguru?=
=?UTF-8?q?=E6=97=A5=E5=BF=97=E6=A0=BC=E5=BC=8F=E7=9A=84extra=E5=AD=97?=
=?UTF-8?q?=E6=AE=B5=E5=BC=95=E7=94=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
修复日志无法输出bind传入的上下文参数的问题,避免链路排查时丢失异常类型与消息等关键信息
---
backend/package/yuxi/utils/logging_config.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/backend/package/yuxi/utils/logging_config.py b/backend/package/yuxi/utils/logging_config.py
index 4b909fb7..5030d5ac 100644
--- a/backend/package/yuxi/utils/logging_config.py
+++ b/backend/package/yuxi/utils/logging_config.py
@@ -53,10 +53,14 @@ def setup_logger(name, level="DEBUG", console=True):
loguru_logger.remove()
# 添加文件日志(无颜色)
+ # 末尾追加 {extra}:loguru 会将通过 bind(**kwargs) 传入的附加上下文
+ # (如 trace_id/error_type/error_message)合并到 record 的 extra 字典,
+ # format 显式引用 {extra} 才能输出,否则 kwargs 会被静默丢弃,导致
+ # stage 失败、投递失败等错误链路看不到具体异常类型与消息。
loguru_logger.add(
LOG_FILE,
level=level,
- format="{time:YYYY-MM-DD HH:mm:ss} - {level} - {file}:{line} - {message}",
+ format="{time:YYYY-MM-DD HH:mm:ss} - {level} - {file}:{line} - {message} {extra}",
encoding="utf-8",
rotation="10 MB",
retention="30 days",
@@ -74,6 +78,7 @@ def setup_logger(name, level="DEBUG", console=True):
"{level} "
"{file}:{line}: "
"{message}"
+ " {extra}"
),
colorize=True,
enqueue=True,