Skip to content

[Core] Model console logging as CLI configuration - #57205

Merged
markmc merged 9 commits into
vllm-project:mainfrom
markmc:logging-config
Sep 25, 2026
Merged

markmc merged 9 commits into
vllm-project:mainfrom
markmc:logging-config

Conversation

@markmc

@markmc markmc commented Sep 16, 2026 •

Copy link
Copy Markdown
Member

Addresses #57200.

Adds a typed LoggingConfig to VllmConfig with three initial fields:

  • configure_logging
  • log_level
  • pylogging_config_file

The complete object can be supplied as --logging-config JSON or with dotted arguments such as --logging-config.log_level DEBUG. --log-level is a convenience override for log_level, while the pre-existing --log-config-file is retained as a legacy override for pylogging_config_file.

The same model is available through serve YAML and Python configuration. VLLM_CONFIGURE_LOGGING, VLLM_LOGGING_LEVEL, and VLLM_LOGGING_CONFIG_PATH remain as compatibility defaults. Explicit CLI and YAML configuration takes precedence, and the convenience/legacy CLI arguments override their matching --logging-config fields.

The resolved configuration is applied after argument parsing and propagated through VllmConfig to Uvicorn and API, engine, coordinator, and worker processes. This fixes the asymmetry where a CLI-supplied --log-config-file configured Uvicorn but arrived too late for vLLM's already-initialized root logger. Code that previously inspected VLLM_LOGGING_LEVEL directly now uses the effective logger level.

The existing default text output and custom Python dictConfig behavior are preserved. Tests cover JSON and dotted CLI forms, CLI/YAML/environment precedence, post-import reconfiguration, custom configuration files, and spawned-process propagation.

Co-authored-by: AI Assistant noreply@openai.com

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify

mergify Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @markmc.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase label Sep 16, 2026
@bbrowning

Copy link
Copy Markdown
Contributor

In the nvidia-l4-distributed-comm-ops suite, distributed/test_shm_broadcast.py::test_warning_logs FAILED is perhaps related to this, as it's using pytest caplog fixtures (docs) and something in the new logging work may be interfering with how that test captures logs.

@markmc

markmc commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

In the nvidia-l4-distributed-comm-ops suite, distributed/test_shm_broadcast.py::test_warning_logs FAILED is perhaps related to this, as it's using pytest caplog fixtures (docs) and something in the new logging work may be interfering with how that test captures logs.

Thank you, Ben. Spot on 👍

@markmc

markmc commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #90397 for commit 4442053b8df6.

@markmc

markmc commented Sep 22, 2026

Copy link
Copy Markdown
Member Author

nvidia-b200-kernels-shard-3 failure looks like #58107

@markmc

markmc commented Sep 23, 2026

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #90588 for commit 8ad13dc1525b.

@markmc

markmc commented Sep 23, 2026

Copy link
Copy Markdown
Member Author

amd-mi355-distributed-dp-basic failure looks like #57369

@markmc

markmc commented Sep 23, 2026

Copy link
Copy Markdown
Member Author

nvidia-l4-v1-engine failure was real, an issue with initializing logging with a MagicMock VllmConfig

@markmc

markmc commented Sep 23, 2026

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #90676 for commit 472b9acbc84f.

@markmc

markmc commented Sep 23, 2026

Copy link
Copy Markdown
Member Author

On the nvidia-h100-fault-tolerance-e2e failure, see #58264 (comment)

the FT E2E failure on this build (#90603) is a PRE-EXISTING main regression (rank never reports UNHEALTHY — a hang, not a timing miss) also seen on main #90560 and unrelated PR #58249's build.

See also #58317 and #58318

@markmc

markmc commented Sep 24, 2026

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #90942 for commit 26d54b6263f0.

markmc and others added 9 commits September 25, 2026 09:55
Move vLLM logging settings into VllmConfig.logging_config. Users can
supply a LoggingConfig as --logging-config JSON or with dotted
arguments, and use --log-level as a convenience shortcut. The
configuration includes whether to apply the default dictConfig, the log
level, and a path to a custom Python logging dictConfig.

Retain the pre-existing --log-config-file option as a legacy alias for
--logging-config.pylogging_config_file; it takes precedence when both
are provided. Apply the resolved configuration in the parent process
and propagate it to Uvicorn and child processes.

Co-authored-by: AI Assistant <noreply@openai.com>

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Defer vLLM logging configuration until CLI parsing or engine construction so
--logging-config.configure_logging false has parity with
VLLM_CONFIGURE_LOGGING=0.

Co-authored-by: AI Assistant <noreply@openai.com>

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Co-authored-by: AI Assistant <noreply@openai.com>

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Warn when the legacy logging configuration flag is used and document its replacement and v0.33.0 removal.

Co-authored-by: AI Assistant <noreply@openai.com>

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Emit CUDA platform diagnostics after logging configuration is applied,
rather than as an import side effect. This lets custom handlers capture
the warning and avoids fallback stderr output.

Co-authored-by: AI Assistant <noreply@openai.com>
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Assisted-by: Codex

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Configure logging before the offline entrypoint records its arguments and
before EngineArgs builds VllmConfig. This preserves initial log output after
deferred logging configuration.

Reported-by: Ben Browning

Assisted-by: Codex
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Capture INFO records from an unconfigured vLLM logger and restore its
prior propagation setting after each test.

Reported-by: Ben Browning

Assisted-by: Codex
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Use a real LoggingConfig in the two profiler unit tests so logging
setup does not interpret MagicMock as a file descriptor.

Assisted-by: OpenAI Codex
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
@markmc

markmc commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #91187 for commit 4177b031d565.

@markmc

markmc commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

With CI actually passing, and since there was no feedback from other committers when I gave a heads-up on Slack one week ago, I'm going ahead and merging based on Ben's approval

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation frontend nvidia ray anything related with ray torch.compile

Projects

Status: Done
Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants