A tracing
compatible subscriber layer for web platforms.
tracing-web
can be used in conjunction with the tracing-subscriber
crate to quickly install a
subscriber that emits messages to the dev-tools console, and events to the Performance API. An example
configuration can look like
use tracing_web::{MakeWebConsoleWriter, performance_layer};
use tracing_subscriber::fmt::format::Pretty;
use tracing_subscriber::prelude::*;
fn main() {
let fmt_layer = tracing_subscriber::fmt::layer()
.with_ansi(false) // Only partially supported across browsers
.without_time() // std::time is not available in browsers, see note below
.with_writer(MakeWebConsoleWriter::new()); // write events to the console
let perf_layer = performance_layer()
.with_details_from_fields(Pretty::default());
tracing_subscriber::registry()
.with(fmt_layer)
.with(perf_layer)
.init(); // Install these as subscribers to tracing events
todo!("write your awesome application");
}
Note: You can alternatively use .with_timer(UtcTime::rfc_3339())
with UtcTime
on web
targets if you enable
the wasm-bindgen
feature of the time
crate, for example by adding the following to your Cargo.toml
.
time = { version = "0.3", features = ["wasm-bindgen"] }
This project is dual licensed under the MIT license and the Apache license.