#logging #front-end #console-log #front-end-wasm

wasm-log

A logger that sends a message with its Rust source's line and filename to the browser console

1 unstable release

0.3.1 Nov 25, 2022
0.3.0 Nov 25, 2022

#1130 in Debugging

Download history 1823/week @ 2025-11-19 1695/week @ 2025-11-26 1809/week @ 2025-12-03 1780/week @ 2025-12-10 1169/week @ 2025-12-17 201/week @ 2025-12-24 543/week @ 2025-12-31 1528/week @ 2026-01-07 1090/week @ 2026-01-14 1313/week @ 2026-01-21 1740/week @ 2026-01-28 1519/week @ 2026-02-04 1607/week @ 2026-02-11 1443/week @ 2026-02-18 1193/week @ 2026-02-25 1672/week @ 2026-03-04

6,220 downloads per month
Used in 6 crates (2 directly)

MIT/Apache

21KB
149 lines

wasm-log

A logger that sends a message with its Rust source's line and filename to the browser console.

screenshot

Usage

Note: For more information about how to use loggers in Rust, see log.

Cargo.toml

[dependencies]
log = "0.4.6"
wasm-log = "0.3"

Initialize wasm-log when your app start:

wasm-log::init(wasm-log::Config::default());

// Logging
log::info!("Some info");
log::error!("Error message");

Log for a specific module only

You can provide a path prefix:

wasm-log::init(wasm-log::Config::default().module_prefix("some::module"));

then, wasm-log only logs message from some::module

Mapping from log to console's methods

log::error!, log::warn! and log::info! call theirs equivalent methods of the browser console. The console.trace method outputs some extra trace from the generated JS glue code which we don't want. Therefore, we choose to map:

  • log::debug! to console.log
  • log::trace! to console.debug.

Note for Chromium/Chrome users

Chromium/Chrome filters out console.debug (execute by log::trace!) by default. You must check the Verbose filter in your browser console to see trace entries.

License

MIT or Apache-2.0

Dependencies

~7–10MB
~182K SLoC