Crate console_log
source ·Expand description
A logger that logs to the browser’s console.
Example
use log::Level;
use log::info;
fn main() {
console_log::init_with_level(Level::Debug);
info!("It works!");
// ...
}
Log Levels
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() |
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 = "0.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]
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.
Functions
Initializes the global logger with
max_log_level
set to Level::Info
(a sensible default).Initializes the global logger setting
max_log_level
to the given value.