diff options
author | Dennis Kobert <d-kobert@web.de> | 2019-06-21 23:52:07 +0200 |
---|---|---|
committer | Dennis Kobert <d-kobert@web.de> | 2019-06-21 23:52:07 +0200 |
commit | 4e0037169db5d0c7d824debedb5513b69676506a (patch) | |
tree | 82c56547fa70b499627236efa66c3bf7e5411ead /webhogg/wasm/src/logger.rs | |
parent | 36c89240a87ecb826cf09bc7b3069aa636c9f2f1 (diff) | |
parent | 031f63755aada2f1b51eb945fda2a18ad0d24aad (diff) |
Merge branch 'wasm' into game_server_refactor
Diffstat (limited to 'webhogg/wasm/src/logger.rs')
-rw-r--r-- | webhogg/wasm/src/logger.rs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/webhogg/wasm/src/logger.rs b/webhogg/wasm/src/logger.rs new file mode 100644 index 0000000..96c4cbf --- /dev/null +++ b/webhogg/wasm/src/logger.rs @@ -0,0 +1,33 @@ +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +extern "C" { + #[wasm_bindgen(js_namespace=console, js_name=log)] + fn __console_log_colored2(f: &str, c1: &str, c2: &str); +} + +fn log(rec: &log::Record) { + __console_log_colored2(&format!("{}", rec.args()), + &format!("color: {}", match rec.level() { + log::Level::Trace => "violet", + log::Level::Debug => "blue", + log::Level::Info => "green", + log::Level::Warn => "orange", + log::Level::Error => "red" + }), ""); +} + +pub fn init_logger() { + fern::Dispatch::new().format(|out, message, record|{ + out.finish(format_args!( + "%c{}%c {} > {}", + record.level(), + record.target(), + message + ) + ) + }) + .level(log::LevelFilter::Debug) + .chain(fern::Output::call(log)) + .apply().unwrap(); +} |