From 28282ffe34ee073559149cf388008111da0b3b16 Mon Sep 17 00:00:00 2001 From: Talor Abramovich Date: Thu, 24 Sep 2026 11:08:40 +0300 Subject: [PATCH] [Feature][Frontend] Request JSON body debug logging on `--enable-log-requests` flag (#58163) Signed-off-by: talora --- vllm/entrypoints/serve/engine/serving.py | 3 +++ vllm/entrypoints/serve/utils/request_logger.py | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/vllm/entrypoints/serve/engine/serving.py b/vllm/entrypoints/serve/engine/serving.py index 7a1befbe4c..86ba524946 100644 --- a/vllm/entrypoints/serve/engine/serving.py +++ b/vllm/entrypoints/serve/engine/serving.py @@ -41,6 +41,9 @@ class BaseServing: self, request: AnyRequest | AnyPoolingRequest, ) -> ErrorResponse | None: + if self.request_logger is not None: + self.request_logger.log_request_body(request) + error_response = None if self._is_model_supported(request.model): diff --git a/vllm/entrypoints/serve/utils/request_logger.py b/vllm/entrypoints/serve/utils/request_logger.py index ac10feab10..efea243182 100644 --- a/vllm/entrypoints/serve/utils/request_logger.py +++ b/vllm/entrypoints/serve/utils/request_logger.py @@ -6,6 +6,8 @@ from collections.abc import Sequence import torch +from vllm.entrypoints.pooling.typing import AnyPoolingRequest +from vllm.entrypoints.serve.engine.typing import AnyRequest from vllm.logger import init_logger from vllm.lora.request import LoRARequest from vllm.pooling_params import PoolingParams @@ -67,6 +69,15 @@ class RequestLogger: lora_request, ) + def log_request_body(self, request: AnyRequest | AnyPoolingRequest) -> None: + if logger.isEnabledFor(logging.DEBUG): + max_log_len = self.max_log_len if self.max_log_len is not None else -1 + logger.debug( + "Request %s JSON body: %s", + getattr(request, "request_id", "N/A"), + request.model_dump_json(exclude_unset=True)[:max_log_len], + ) + def log_outputs( self, request_id: str,