From de5432c512a4d98cb85ddb82af85d8a9e649c33a Mon Sep 17 00:00:00 2001 From: zk Date: Fri, 13 Mar 2026 17:01:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E8=BF=BD=E5=8A=A0=E7=94=A8?= =?UTF-8?q?=E6=88=B7id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/logger.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/core/logger.py b/app/core/logger.py index efe3d3f..8110b17 100644 --- a/app/core/logger.py +++ b/app/core/logger.py @@ -14,6 +14,7 @@ _CONSOLE_FORMAT = ( "{time:YYYYMMDD HH:mm:ss} | " "{process.name}:{process.id} | " "{extra[request_id]} | " + "{extra[user_id]} | " "{module}.{function}" ":{line} | " "{level}: " @@ -25,14 +26,22 @@ _FILE_FORMAT = ( "{time:YYYYMMDD HH:mm:ss} - " "{process.name}:{process.id} | " "{extra[request_id]} | " + "{extra[user_id]} | " "{module}.{function}:{line} - {level} - {message}" ) +def _patcher(record): + """动态从 RequestContext 注入 user_id 到日志""" + from app.core.context import RequestContext + user_id = RequestContext.user_id.get(None) + record["extra"]["user_id"] = user_id if user_id is not None else "unknown" + + def _setup_logger() -> logger.__class__: """配置并返回 Loguru 日志实例""" logger.remove() - logger.configure(extra={"request_id": "system"}) + logger.configure(extra={"request_id": "system", "user_id": "unknown"}, patcher=_patcher) # 控制台输出 logger.add(