GitHub - iamcodemaker/console_log: A rust logger that routes messages to the browser's console. (original) (raw)
console_log 
A logger that routes messages to the browser's console.
Usage
use log::Level; fn main() { console_log::init_with_level(Level::Debug);
info!("It works!");
// ...
}
Details
Rust's log levels map to the browser's console log in the following way.
Rust | Web Console |
---|---|
trace!() | console.debug() |
debug!() | console.log() |
info!() | console.info() |
warn!() | console.warn() |
error!() | console.error() |
Colors
The "color"
feature adds styling to the log messages.
Cargo.toml
console_log = { version = "1", features = ["color"] }
The styled log messages will be rendered as follows:
Code Size
Twiggy reports this library adding about 180Kb to the size of a minimal wasm binary in a debug build. If you want to avoid this, mark the library as optional and conditionally initialize it in your code for non-release builds.
Cargo.toml
[dependencies] cfg-if = "0.1" log = "0.4" console_log = { version = "1", optional = true }
[features] default = ["console_log"]
lib.rs
use wasm_bindgen::prelude::*; use cfg_if::cfg_if;
cfg_if! { if #[cfg(feature = "console_log")] { fn init_log() { use log::Level; console_log::init_with_level(Level::Trace).expect("error initializing log"); } } else { fn init_log() {} } }
#[wasm_bindgen] pub fn main() { init_log(); // ... }
Limitations
The file and line number information associated with the log messages reports locations from the shims generated by wasm-bindgen
, not the location of the logger call.
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE orhttp://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT orhttp://opensource.org/licenses/MIT)
at your option.
Contributing
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
See Also
- wasm-logger
- wasm-bindgen-console-logger
- fern (use with
console_log::log
)