Files
vLLM/vllm/config/logging.py
T
Mark McLoughlinandOpenAI Codex 91fcec1235 [Core][Logging] Add built-in JSON formatter (#58739)
Add `--logging-config.formatter=json` to enable the python-json-logger
formatter without having to use a complete Python logging dictConfig.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Co-authored-by: OpenAI Codex <noreply@openai.com>
2026-10-01 09:11:46 +01:00

51 lines
1.8 KiB
Python

# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
from typing import Literal, cast
from pydantic import Field
import vllm.envs as envs
from vllm.config.utils import config
LogLevel = Literal["CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "NOTSET"]
LogFormatter = Literal["text", "json"]
@config
class LoggingConfig:
"""vLLM logging. Default ``dictConfig`` adds a formatted stream handler.
Supply a JSON object with ``--logging-config`` or individual fields with
dotted arguments such as ``--logging-config.log_level DEBUG`` and
``--logging-config.formatter json``. ``--log-level`` and legacy
``--log-config-file`` override their matching fields. Set
``configure_logging`` to false to skip applying a ``dictConfig``.
"""
log_level: LogLevel = Field(
default_factory=lambda: cast(LogLevel, envs.VLLM_LOGGING_LEVEL)
)
"""Log level used when no custom logging configuration is provided."""
formatter: LogFormatter = "text"
"""Formatter used by the built-in logging configuration."""
configure_logging: bool = Field(default_factory=lambda: envs.VLLM_CONFIGURE_LOGGING)
"""Whether to apply a Python logging configuration.
With no ``pylogging_config_file``, the default config adds a formatted
stream handler to the ``vllm`` logger. A custom Python logging configuration
file also requires this to be enabled.
"""
pylogging_config_file: str | None = Field(
default_factory=lambda: envs.VLLM_LOGGING_CONFIG_PATH
)
"""Path to a Python logging JSON file using
[``dictConfig`` schema](https://docs.python.org/3/library/logging.config.html#configuration-file-format).
A custom ``dictConfig`` is authoritative over ``log_level`` and
``formatter`` for logger, handler, and formatter settings.
"""