Skip to content

Commit 07d4166

Browse files
committed
feat(rustup-init): (wip) use process().stderr() as a tracing output
1 parent af02471 commit 07d4166

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/bin/rustup-init.rs

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ use rustup::cli::rustup_mode;
2727
#[cfg(windows)]
2828
use rustup::cli::self_update;
2929
use rustup::cli::setup_mode;
30-
use rustup::currentprocess::{process, varsource::VarSource, with_runtime, OSProcess};
30+
use rustup::currentprocess::{
31+
filesource::StderrSource, process, varsource::VarSource, with_runtime, OSProcess,
32+
};
3133
use rustup::env_var::RUST_RECURSION_COUNT_MAX;
3234
use rustup::is_proxyable_tools;
3335
use rustup::utils::utils::{self, ExitCode};
@@ -68,7 +70,9 @@ async fn maybe_trace_rustup() -> Result<utils::ExitCode> {
6870
trace::{self, Sampler},
6971
Resource,
7072
};
71-
use tracing_subscriber::{layer::SubscriberExt, EnvFilter, Registry};
73+
use tracing_subscriber::{fmt, layer::SubscriberExt, EnvFilter, Registry};
74+
75+
let curr_process = process();
7276

7377
global::set_text_map_propagator(TraceContextPropagator::new());
7478
let tracer = opentelemetry_otlp::new_pipeline()
@@ -86,7 +90,14 @@ async fn maybe_trace_rustup() -> Result<utils::ExitCode> {
8690
.install_batch(opentelemetry_sdk::runtime::Tokio)?;
8791
let env_filter = EnvFilter::try_from_default_env().unwrap_or(EnvFilter::new("INFO"));
8892
let telemetry = tracing_opentelemetry::layer().with_tracer(tracer);
89-
let subscriber = Registry::default().with(env_filter).with(telemetry);
93+
let subscriber = Registry::default()
94+
.with(
95+
fmt::layer()
96+
.with_ansi(curr_process.stderr().is_a_tty())
97+
.with_writer(move || curr_process.stderr()),
98+
)
99+
.with(env_filter)
100+
.with(telemetry);
90101
tracing::subscriber::set_global_default(subscriber)?;
91102
let result = run_rustup().await;
92103
// We're tracing, so block until all spans are exported.

0 commit comments

Comments
 (0)