日志追加用户id
This commit is contained in:
+10
-1
@@ -14,6 +14,7 @@ _CONSOLE_FORMAT = (
|
|||||||
"<green>{time:YYYYMMDD HH:mm:ss}</green> | "
|
"<green>{time:YYYYMMDD HH:mm:ss}</green> | "
|
||||||
"{process.name}:{process.id} | "
|
"{process.name}:{process.id} | "
|
||||||
"{extra[request_id]} | "
|
"{extra[request_id]} | "
|
||||||
|
"{extra[user_id]} | "
|
||||||
"<cyan>{module}</cyan>.<cyan>{function}</cyan>"
|
"<cyan>{module}</cyan>.<cyan>{function}</cyan>"
|
||||||
":<cyan>{line}</cyan> | "
|
":<cyan>{line}</cyan> | "
|
||||||
"<level>{level}</level>: "
|
"<level>{level}</level>: "
|
||||||
@@ -25,14 +26,22 @@ _FILE_FORMAT = (
|
|||||||
"{time:YYYYMMDD HH:mm:ss} - "
|
"{time:YYYYMMDD HH:mm:ss} - "
|
||||||
"{process.name}:{process.id} | "
|
"{process.name}:{process.id} | "
|
||||||
"{extra[request_id]} | "
|
"{extra[request_id]} | "
|
||||||
|
"{extra[user_id]} | "
|
||||||
"{module}.{function}:{line} - {level} - {message}"
|
"{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__:
|
def _setup_logger() -> logger.__class__:
|
||||||
"""配置并返回 Loguru 日志实例"""
|
"""配置并返回 Loguru 日志实例"""
|
||||||
logger.remove()
|
logger.remove()
|
||||||
logger.configure(extra={"request_id": "system"})
|
logger.configure(extra={"request_id": "system", "user_id": "unknown"}, patcher=_patcher)
|
||||||
|
|
||||||
# 控制台输出
|
# 控制台输出
|
||||||
logger.add(
|
logger.add(
|
||||||
|
|||||||
Reference in New Issue
Block a user