diff --git a/backend/common/log.py b/backend/common/log.py index 6fcfadbb..fe5be304 100644 --- a/backend/common/log.py +++ b/backend/common/log.py @@ -6,7 +6,6 @@ import sys from loguru import logger -from backend.common.context import ctx from backend.core.conf import settings from backend.core.path_conf import LOG_DIR from backend.utils.timezone import timezone @@ -78,12 +77,8 @@ def setup_logging() -> None: # request_id 过滤器 def request_id_filter(record: logging.LogRecord) -> logging.LogRecord: - if ctx.exists(): - rid = get_request_trace_id() - record['request_id'] = rid[: settings.TRACE_ID_LOG_LENGTH] - else: - record['request_id'] = settings.TRACE_ID_LOG_DEFAULT_VALUE - + rid = get_request_trace_id() + record['request_id'] = rid[: settings.TRACE_ID_LOG_LENGTH] return record # 配置 loguru 处理器 diff --git a/backend/utils/trace_id.py b/backend/utils/trace_id.py index 6629c99d..3d753dd7 100644 --- a/backend/utils/trace_id.py +++ b/backend/utils/trace_id.py @@ -4,4 +4,6 @@ from backend.core.conf import settings def get_request_trace_id() -> str: """从请求头中获取追踪 ID""" - return ctx.get(settings.TRACE_ID_REQUEST_HEADER_KEY, settings.TRACE_ID_LOG_DEFAULT_VALUE) + if ctx.exists(): + return ctx.get(settings.TRACE_ID_REQUEST_HEADER_KEY, settings.TRACE_ID_LOG_DEFAULT_VALUE) + return settings.TRACE_ID_LOG_DEFAULT_VALUE