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

## Usage
**Note**: For more information about how to use loggers in Rust, see [log](https://crates.io/crates/log).
`Cargo.toml`
```
[dependencies]
log = "0.4.6"
wasm-logger = "0.2.0"
```
Initialize `wasm-logger` when your app start:
```rust
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:
```rust
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](http://opensource.org/licenses/MIT)
or
[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)