[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
@@ -21,6 +21,7 @@ import time
from typing import Dict, List, Optional
from fastdeploy.engine.request import Request, RequestOutput
from fastdeploy.logger.request_logger import RequestLogLevel, log_request
from fastdeploy.scheduler.data import ScheduledResponse
from fastdeploy.scheduler.local_scheduler import LocalScheduler
from fastdeploy.utils import get_logger
@@ -58,7 +59,11 @@ class DPLocalScheduler(LocalScheduler):
finished_responses = [response.request_id for response in responses if response.finished]
if len(finished_responses) > 0:
self.scheduler_logger.info(f"Scheduler has received some finished responses: {finished_responses}")
log_request(
RequestLogLevel.CONTENT,
message="Scheduler has received some finished responses: {request_ids}",
request_ids=finished_responses,
)
with self.mutex:
self.batch_responses_per_step.append([response.raw for response in responses])
@@ -146,8 +151,10 @@ class DPLocalScheduler(LocalScheduler):
self.ids_read_cursor += 1
if len(requests) > 0:
self.scheduler_logger.info(
f"Scheduler has pulled some request: {[request.request_id for request in requests]}"
log_request(
RequestLogLevel.CONTENT,
message="Scheduler has pulled some request: {request_ids}",
request_ids=[request.request_id for request in requests],
)
return requests
@@ -195,7 +202,11 @@ class DPScheduler:
def _put_requests_to_local(self):
while True:
request = self.request_queues.get()
self.scheduler_logger.info(f"Receive request from puller, request_id: {request.request_id}")
log_request(
RequestLogLevel.CONTENT,
message="Receive request from puller, request_id: {request_id}",
request_id=request.request_id,
)
self._scheduler.put_requests([request])
def _get_response_from_local(self):