[Feature][Frontend] Request JSON body debug logging on `--enable-log-requests` flag (#58163)

Signed-off-by: talora <talora@nvidia.com>

Talor Abramovich committed Sep 24, 2026 at 11:08 UTC 28282ffe34ee073559149cf388008111da0b3b16
2 files changed +14
vllm/entrypoints/serve/engine/serving.py
+3
@@ -41,6 +41,9 @@ class BaseServing:
41 self,
42 request: AnyRequest | AnyPoolingRequest,
43 ) -> ErrorResponse | None:
44 + if self.request_logger is not None:
45 + self.request_logger.log_request_body(request)
46 +
47 error_response = None
48
49 if self._is_model_supported(request.model):
vllm/entrypoints/serve/utils/request_logger.py
+11
@@ -6,6 +6,8 @@ from collections.abc import Sequence
6
7 import torch
8
9 +from vllm.entrypoints.pooling.typing import AnyPoolingRequest
10 +from vllm.entrypoints.serve.engine.typing import AnyRequest
11 from vllm.logger import init_logger
12 from vllm.lora.request import LoRARequest
13 from vllm.pooling_params import PoolingParams
@@ -67,6 +69,15 @@ class RequestLogger:
69 lora_request,
70 )
71
72 + def log_request_body(self, request: AnyRequest | AnyPoolingRequest) -> None:
73 + if logger.isEnabledFor(logging.DEBUG):
74 + max_log_len = self.max_log_len if self.max_log_len is not None else -1
75 + logger.debug(
76 + "Request %s JSON body: %s",
77 + getattr(request, "request_id", "N/A"),
78 + request.model_dump_json(exclude_unset=True)[:max_log_len],
79 + )
80 +
81 def log_outputs(
82 self,
83 request_id: str,