#wasm #front-end #logger #console #log

wasm-logger

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

6 releases

✓ Uses Rust 2018 edition

new 0.1.5 Jun 16, 2019
0.1.4 Jun 12, 2019
0.1.3 Apr 13, 2019
0.1.2 Feb 15, 2019
0.1.0 Oct 4, 2018

#58 in WebAssembly

Download history 10/week @ 2019-03-03 6/week @ 2019-03-10 6/week @ 2019-03-17 11/week @ 2019-03-24 5/week @ 2019-03-31 14/week @ 2019-04-07 24/week @ 2019-04-14 15/week @ 2019-04-21 9/week @ 2019-04-28 7/week @ 2019-05-05 13/week @ 2019-05-12 13/week @ 2019-05-19 18/week @ 2019-05-26 8/week @ 2019-06-02 35/week @ 2019-06-09

60 downloads per month
Used in 1 crate

MIT/Apache

14KB
135 lines

wasm-logger

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

screenshot

In v0.1.4 and up, the default Config will put the message on the same line as other info (see more). If you want them on a separate line as the screenshot above, you must config like this:

wasm_logger::init(
    wasm_logger::Config::new(log::Level::Debug)
        .message_on_new_line()
);

Usage

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

Cargo.toml

[dependencies]
log = "0.4.6"
wasm-logger = "0.1.5"

Initialize wasm-logger when your app start:

wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));

// 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::with_prefix(log::Level::Debug, "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

~2MB
~31K SLoC