wasm-logger 0.1.2

A pretty logger for wasm front-end app written in Rust
Documentation
# wasm-logger

A pretty logger for wasm front-end app based on [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen)

`Cargo.toml`
```
[dependencies]
log = "0.4"
wasm-logger = "0.1.2"
```
## Rust 2015

```rust
#[macro_use]
extern crate log;
extern crate wasm_logger;
```

Initialize `wasm-logger` when your app start:
```rust
wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));

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

## Rust 2018
In Rust 2018 you don't have to `extern crate`, just initialize `wasm-logger` when your app start:
```rust
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:
```rust
wasm_logger::init(wasm_logger::Config::with_prefix(log::Level::Debug, "some::module"));
```

then, `wasm-logger` only logs message from `some::module` 

## Logging in Rust

For more information about how to use loggers in Rust, see [log](https://crates.io/crates/log).

## 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` and `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](http://opensource.org/licenses/MIT)
or
[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)