#web #logging

tracing-web

A tracing compatible subscriber layer for web platforms

4 releases

0.1.3 Nov 30, 2023
0.1.2 Aug 19, 2022
0.1.1 Aug 19, 2022
0.1.0 Aug 19, 2022

#68 in Debugging

Download history 19711/week @ 2026-01-21 18780/week @ 2026-01-28 28967/week @ 2026-02-04 26372/week @ 2026-02-11 27405/week @ 2026-02-18 25523/week @ 2026-02-25 40254/week @ 2026-03-04 41600/week @ 2026-03-11 32930/week @ 2026-03-18 35287/week @ 2026-03-25 34359/week @ 2026-04-01 25667/week @ 2026-04-08 27025/week @ 2026-04-15 29272/week @ 2026-04-22 24919/week @ 2026-04-29 34744/week @ 2026-05-06

120,364 downloads per month
Used in 151 crates (28 directly)

MIT/Apache

27KB
427 lines

tracing-web

A tracing compatible subscriber layer for web platforms.

Crates.io Documentation MIT licensed Apache licensed

Documentation

Overview

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"] }

License

This project is dual licensed under the MIT license and the Apache license.

Dependencies

~8–11MB
~206K SLoC