[Feature] implement log channel separation and request log level system (#7190)

* feat: implement log channel separation and request log level system

* fix: log system improvements based on review

* add request_id to error logs, use RequestLogLevel enum, and unify logger implementation from utils to logger module
This commit is contained in:
zhouchong
2026-04-16 15:13:05 +08:00
committed by GitHub
parent 29495b2cf1
commit 6e16438a57
52 changed files with 1956 additions and 639 deletions
+15 -4
View File
@@ -20,6 +20,7 @@ from typing import Any, Optional, Union
import httpx
from pydantic import BaseModel, HttpUrl
from fastdeploy.logger.request_logger import log_request, log_request_error
from fastdeploy.utils import data_processor_logger
@@ -161,7 +162,12 @@ class AsyncTokenizerClient:
except httpx.RequestError as e:
# Network error, keep polling
data_processor_logger.debug(f"Request error while polling tokenize task {task_tag}: {e}")
log_request(
level=3,
message="Request error while polling tokenize task {task_tag}: {error}",
task_tag=task_tag,
error=str(e),
)
# 超时检测
if asyncio.get_event_loop().time() - start_time > self.max_wait:
@@ -193,10 +199,15 @@ class AsyncTokenizerClient:
raise RuntimeError(f"Tokenize task creation failed, {resp.json().get('message')}")
return resp.json().get("result")
except Exception as e:
data_processor_logger.error(f"Attempt to decode_request {attempt + 1} failed: {e}")
log_request_error(
message="Attempt to decode_request {attempt} failed: {error}",
attempt=attempt + 1,
error=str(e),
)
if attempt == self.max_retries - 1:
data_processor_logger.error(
f"Max retries of decode_request reached. Giving up. request is {request}"
log_request_error(
message="Max retries of decode_request reached. Giving up. request is {request}",
request=str(request),
)
await asyncio.sleep(1)
except httpx.RequestError as e: