Problem
The YAML extension's output channel currently logs at a fixed verbosity level. In large workspaces with many YAML files, the output channel fills up with repetitive schema-fetch and parse messages, making it hard to spot real errors. There is no way to set the log level to error-only without resorting to hacking yaml.trace.server = 'off' (which disables all server communication logging including errors).
What Users Want
A setting like:
"error" — only show errors in the output channel (good for daily use)
"warning" — errors + warnings
"info" — default, current behaviour
"verbose" — full LSP traffic (debugging aid)
Why Additive
The existing yaml.trace.server is an LSP-level raw traffic trace, not a semantic log level. Many users who want quieter output would use trace = 'off' and then miss real errors. A semantic log-level setting solves this without affecting LSP protocol observability.
Proposed Implementation
- Add
yaml.logLevel to package.json contributes.configuration with enum and default "info".
- Pass the value to the language server via initializationOptions.
- In the server, gate each
connection.console.log call behind a level check.
Environment
- VS Code: 1.89+, large monorepo with 200+ YAML files
- Extension: redhat.vscode-yaml latest
Problem
The YAML extension's output channel currently logs at a fixed verbosity level. In large workspaces with many YAML files, the output channel fills up with repetitive schema-fetch and parse messages, making it hard to spot real errors. There is no way to set the log level to
error-only without resorting to hackingyaml.trace.server = 'off'(which disables all server communication logging including errors).What Users Want
A setting like:
"error"— only show errors in the output channel (good for daily use)"warning"— errors + warnings"info"— default, current behaviour"verbose"— full LSP traffic (debugging aid)Why Additive
The existing
yaml.trace.serveris an LSP-level raw traffic trace, not a semantic log level. Many users who want quieter output would usetrace = 'off'and then miss real errors. A semantic log-level setting solves this without affecting LSP protocol observability.Proposed Implementation
yaml.logLeveltopackage.jsoncontributes.configuration with enum and default"info".connection.console.logcall behind a level check.Environment