#logging-tracing #observability #tracing-metrics

emit_rand

rand-based Rng for emit

1 unstable release

0.9.1 Jun 15, 2025

#28 in #tracing-metrics

MIT/Apache

6KB

emit_rand

rand

Current docs

An implementation of emit::Rng using a specific version of the rand library.

emit itself has a rand feature and provides exactly the same RandRng, but only on select platforms. You can use emit_rand to always configure emit using rand if you're also using it elsewhere in your application, and want to guarantee only a specific version will end up in your dependency tree.

Getting started

Add emit and emit_rand to your Cargo.toml:

[dependencies.emit]
version = "1"
# Disable default features of `emit` to avoid pulling in a possibly different version of `rand`
default-features = false
features = ["std", "implicit_rt"]

[dependencies.emit_rand]
version = "0.9"

Configure emit to use the RandRng type from this library during setup:

fn main() {
    let rt = emit::setup()
        .with_rng(emit_rand::rng())
        // Other configuration goes here
        .init();

    // Your app code goes here

    rt.blocking_flush(std::time::Duration::from_secs(5));
}

Versioning and compatibility

emit_rand version x.y.z is compatible with rand version x.y.*.

Dependencies

~1MB
~19K SLoC