mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00

This changes logged messages from ``` 2023-08-23T01:01:59.922018Z DEBUG cargo::core::compiler::fingerprint: filesystem up-to-date "/home/epage/src/personal/dump" ``` To ``` 0.041729583s DEBUG cargo::core::compiler::fingerprint: filesystem up-to-date "/home/epage/src/personal/dump" ``` Benefits - Less horizontal space taken up in boilerplate - Easier to compare within a run Downsides - Harder to correlate with other processes, like with crates.io server operations This gives us up to 4 digits for seconds which should be sufficient for cargo build times. We could make this more compact by dropping the digits of precision from 9 to 6 but that would require a custom Timer which might be a paint to keep in sync between packages.
29 lines
833 B
Rust
29 lines
833 B
Rust
mod xtask;
|
|
|
|
fn main() {
|
|
setup_logger();
|
|
|
|
let cli = xtask::cli();
|
|
let matches = cli.get_matches();
|
|
|
|
let mut config = cargo::util::config::Config::default().unwrap_or_else(|e| {
|
|
let mut eval = cargo::core::shell::Shell::new();
|
|
cargo::exit_with_error(e.into(), &mut eval)
|
|
});
|
|
if let Err(e) = xtask::exec(&matches, &mut config) {
|
|
cargo::exit_with_error(e, &mut config.shell())
|
|
}
|
|
}
|
|
|
|
// In sync with `src/bin/cargo/main.rs@setup_logger`.
|
|
fn setup_logger() {
|
|
let env = tracing_subscriber::EnvFilter::from_env("CARGO_LOG");
|
|
|
|
tracing_subscriber::fmt()
|
|
.with_timer(tracing_subscriber::fmt::time::Uptime::default())
|
|
.with_ansi(std::io::IsTerminal::is_terminal(&std::io::stderr()))
|
|
.with_writer(std::io::stderr)
|
|
.with_env_filter(env)
|
|
.init();
|
|
}
|