Fix logging in uv-dev (#4093)

Set the correct default logging directive and filtering in uv-dev. See
#4090.
This commit is contained in:
konsti 2024-06-06 15:06:57 +02:00 committed by GitHub
parent fa2b6a28bc
commit 39f8978920
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,6 +1,7 @@
use std::env; use std::env;
use std::path::PathBuf; use std::path::PathBuf;
use std::process::ExitCode; use std::process::ExitCode;
use std::str::FromStr;
use std::time::Instant; use std::time::Instant;
use anstream::{eprintln, println}; use anstream::{eprintln, println};
@ -10,9 +11,10 @@ use owo_colors::OwoColorize;
use tracing::{debug, instrument}; use tracing::{debug, instrument};
use tracing_durations_export::plot::PlotConfig; use tracing_durations_export::plot::PlotConfig;
use tracing_durations_export::DurationsLayerBuilder; use tracing_durations_export::DurationsLayerBuilder;
use tracing_subscriber::filter::Directive;
use tracing_subscriber::layer::SubscriberExt; use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt; use tracing_subscriber::util::SubscriberInitExt;
use tracing_subscriber::EnvFilter; use tracing_subscriber::{EnvFilter, Layer};
use crate::build::{build, BuildArgs}; use crate::build::{build, BuildArgs};
use crate::clear_compile::ClearCompileArgs; use crate::clear_compile::ClearCompileArgs;
@ -117,15 +119,21 @@ async fn main() -> ExitCode {
(None, None) (None, None)
}; };
let filter_layer = EnvFilter::try_from_default_env().unwrap_or_else(|_| { // Show `INFO` messages from the `uv` crate, but allow `RUST_LOG` to override.
EnvFilter::builder() let default_directive = Directive::from_str("uv=info").unwrap();
// Show only the important spans
.parse("uv_dev=info,uv_dispatch=info") let filter = EnvFilter::builder()
.unwrap() .with_default_directive(default_directive)
}); .from_env()
.expect("Valid RUST_LOG directives");
tracing_subscriber::registry() tracing_subscriber::registry()
.with(duration_layer) .with(duration_layer)
.with(filter_layer) .with(
tracing_subscriber::fmt::layer()
.with_writer(std::io::stderr)
.with_filter(filter),
)
.init(); .init();
let start = Instant::now(); let start = Instant::now();