#console-log #console #logger #logging #log #front-end

wasm-logger

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

7 releases

0.2.0 Nov 15, 2019
0.1.5 Jun 16, 2019
0.1.3 Apr 13, 2019
0.1.2 Feb 15, 2019
0.1.0 Oct 4, 2018

#166 in Debugging

Download history 15871/week @ 2024-03-09 22955/week @ 2024-03-16 18048/week @ 2024-03-23 18171/week @ 2024-03-30 17735/week @ 2024-04-06 9593/week @ 2024-04-13 19911/week @ 2024-04-20 15187/week @ 2024-04-27 12917/week @ 2024-05-04 8363/week @ 2024-05-11 8508/week @ 2024-05-18 8994/week @ 2024-05-25 7954/week @ 2024-06-01 7802/week @ 2024-06-08 7817/week @ 2024-06-15 5910/week @ 2024-06-22

31,164 downloads per month
Used in 67 crates (48 directly)

MIT/Apache

16KB
135 lines

wasm-logger

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-logger = "0.2.0"

Initialize wasm-logger when your app start:

wasm_logger::init(wasm_logger::Config::default());

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

Log for a specific module only

You can provide a path prefix:

wasm_logger::init(wasm_logger::Config::default().module_prefix("some::module"));

then, wasm-logger 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

~6.5–8.5MB
~170K SLoC