rummage 0.1.1

A simple and opinionated environment collector
Documentation

rummage - Collect compiletime and runtime environment collector

[Latest Version][crates.io] [Documentation][docs.rs] License

rummage provides a simple and opinionated way to collect a reasonably comprehensive set of compile time and runtime environment information, and emit it in structured tracing events.

Example usage

fn main() {
    tracing_subscriber::fmt::fmt().init();

    // Collect the default info set, plus the three named environment variables
    let info = rummage::info!().with_envvars(["RUST_LOG", "HOME", "PWD"]);
    info.log_debug();
}

Which emits:

~/dev/rummage-demo$ RUST_LOG=debug cargo run -- --foo=10 --bar apple
   Compiling rummage v0.1.0
   Compiling rummage-demo v0.1.0
    Finished dev [unoptimized + debuginfo] target(s) in 0.64s
     Running `target/debug/rummage-demo --foo=10 --bar apple`
2023-03-13T23:06:50.183994Z DEBUG rummage: Crate information: git_commit_hash="3acb2d1" crate_name="rummage_demo" crate_version="0.1.0" bin_name="rummage-demo"
2023-03-13T23:06:50.184046Z DEBUG rummage: Cargo target information: profile="debug" host="x86_64-unknown-linux-gnu" target="x86_64-unknown-linux-gnu" family="unix" os="linux" arch="x86_64" pointer_width="64" endian="little" features="fxsr,sse,sse2"
2023-03-13T23:06:50.184092Z DEBUG rummage: Rustc information: rustc_semver="1.68.0" commit_hash="2c8cc343237b8f7d5a3c3703e3a87f2eb2c54a74" commit_date="2023-03-06" llvm_version="15.0"
2023-03-13T23:06:50.184126Z DEBUG rummage: System information hostname="DESKTOP-0E64KFA" os="Linux 5.10.102.1-microsoft-standard-WSL2" linux_distro="Ubuntu 22.04.1 LTS" cpu_vendor="AuthenticAMD" cpu_brand_string="AMD Ryzen 9 3950X 16-Core Processor"
2023-03-13T23:06:50.184167Z DEBUG rummage: Command line args: args="[\"target/debug/rummage-demo\", \"--foo=10\", \"--bar\", \"apple\"]"
2023-03-13T23:06:50.184200Z DEBUG rummage: Collected environment variables args="{\"HOME\": Some(\"/home/joe\"), \"PWD\": Some(\"/home/joe/dev/rummage-demo\"), \"RUST_LOG\": Some(\"debug\")}"