Skip to content

Commit bf2c9a4

Browse files
authored
Avoid unnecessary info at non-trace server log level (#16389)
## Summary Currently, the log messages emitted by the server includes multiple information which isn't really required most of the time. Here's the current format: ``` 0.000755625s DEBUG main ruff_server::session::index::ruff_settings: Indexing settings for workspace: /Users/dhruv/playground/ruff 0.016334666s DEBUG ThreadId(10) ruff_server::session::index::ruff_settings: Ignored path via `exclude`: /Users/dhruv/playground/ruff/.vscode 0.019954541s INFO main ruff_server::session::index: Registering workspace: /Users/dhruv/playground/ruff 0.020160416s TRACE ruff:main notification{method="textDocument/didOpen"}: ruff_server::server::api: enter 0.020209625s TRACE ruff:worker:0 request{id=1 method="textDocument/diagnostic"}: ruff_server::server::api: enter 0.020228166s DEBUG ruff:worker:0 request{id=1 method="textDocument/diagnostic"}: ruff_server::resolve: Included path via `include`: /Users/dhruv/playground/ruff/lsp/test.py 0.020359833s INFO ruff:main ruff_server::server: Configuration file watcher successfully registered ``` This PR updates the following: * Uses current timestamp (same as red-knot) for all log levels instead of the uptime value * Includes the target and thread names only at the trace level What this means is that the message is reduced to only important information at DEBUG level: ``` 2025-02-26 11:35:02.198375000 DEBUG Indexing settings for workspace: /Users/dhruv/playground/ruff 2025-02-26 11:35:02.209933000 DEBUG Ignored path via `exclude`: /Users/dhruv/playground/ruff/.vscode 2025-02-26 11:35:02.217165000 INFO Registering workspace: /Users/dhruv/playground/ruff 2025-02-26 11:35:02.217631000 DEBUG Included path via `include`: /Users/dhruv/playground/ruff/lsp/test.py 2025-02-26 11:35:02.217684000 INFO Configuration file watcher successfully registered ``` while still showing the other information (thread names and target) at trace level: ``` 2025-02-26 11:35:27.819617000 DEBUG main ruff_server::session::index::ruff_settings: Indexing settings for workspace: /Users/dhruv/playground/ruff 2025-02-26 11:35:27.830500000 DEBUG ThreadId(11) ruff_server::session::index::ruff_settings: Ignored path via `exclude`: /Users/dhruv/playground/ruff/.vscode 2025-02-26 11:35:27.837212000 INFO main ruff_server::session::index: Registering workspace: /Users/dhruv/playground/ruff 2025-02-26 11:35:27.837714000 TRACE ruff:main notification{method="textDocument/didOpen"}: ruff_server::server::api: enter 2025-02-26 11:35:27.838019000 INFO ruff:main ruff_server::server: Configuration file watcher successfully registered 2025-02-26 11:35:27.838084000 TRACE ruff:worker:1 request{id=1 method="textDocument/diagnostic"}: ruff_server::server::api: enter 2025-02-26 11:35:27.838205000 DEBUG ruff:worker:1 request{id=1 method="textDocument/diagnostic"}: ruff_server::resolve: Included path via `include`: /Users/dhruv/playground/ruff/lsp/test.py ```
1 parent be03cb0 commit bf2c9a4

3 files changed

Lines changed: 8 additions & 4 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/ruff_server/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ shellexpand = { workspace = true }
4040
thiserror = { workspace = true }
4141
toml = { workspace = true }
4242
tracing = { workspace = true }
43-
tracing-subscriber = { workspace = true }
43+
tracing-subscriber = { workspace = true, features = ["chrono"] }
4444

4545
[dev-dependencies]
4646
insta = { workspace = true }

crates/ruff_server/src/logging.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use serde::Deserialize;
99
use std::{path::PathBuf, str::FromStr, sync::Arc};
1010
use tracing::level_filters::LevelFilter;
1111
use tracing_subscriber::{
12-
fmt::{format::FmtSpan, time::Uptime, writer::BoxMakeWriter},
12+
fmt::{format::FmtSpan, time::ChronoLocal, writer::BoxMakeWriter},
1313
layer::SubscriberExt,
1414
Layer,
1515
};
@@ -49,10 +49,13 @@ pub(crate) fn init_logging(log_level: LogLevel, log_file: Option<&std::path::Pat
4949
Some(file) => BoxMakeWriter::new(Arc::new(file)),
5050
None => BoxMakeWriter::new(std::io::stderr),
5151
};
52+
53+
let is_trace_level = log_level == LogLevel::Trace;
5254
let subscriber = tracing_subscriber::Registry::default().with(
5355
tracing_subscriber::fmt::layer()
54-
.with_timer(Uptime::default())
55-
.with_thread_names(true)
56+
.with_timer(ChronoLocal::new("%Y-%m-%d %H:%M:%S.%f".to_string()))
57+
.with_thread_names(is_trace_level)
58+
.with_target(is_trace_level)
5659
.with_ansi(false)
5760
.with_writer(logger)
5861
.with_span_events(FmtSpan::ENTER)

0 commit comments

Comments
 (0)