diff options
author | natrixaeria <janng@gmx.de> | 2019-05-29 21:51:49 +0200 |
---|---|---|
committer | natrixaeria <janng@gmx.de> | 2019-05-29 21:51:49 +0200 |
commit | bf0137c3fc6093df085b9d95cd251b7f67d94815 (patch) | |
tree | 435f024e02e4f0bd867d1ca5a829d3ef19a97545 /WebInterface/wasm/webhogg/src/client_logger.rs | |
parent | a6d2d62fae44b6d8c96e51055f7222bc679efc48 (diff) |
Create webhogg project directory
Diffstat (limited to 'WebInterface/wasm/webhogg/src/client_logger.rs')
-rw-r--r-- | WebInterface/wasm/webhogg/src/client_logger.rs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/WebInterface/wasm/webhogg/src/client_logger.rs b/WebInterface/wasm/webhogg/src/client_logger.rs new file mode 100644 index 0000000..f71918f --- /dev/null +++ b/WebInterface/wasm/webhogg/src/client_logger.rs @@ -0,0 +1,46 @@ +use wasm_bindgen::prelude::*; + +#[wasm_bindgen] +extern "C" { + #[wasm_bindgen(js_namespace=console, js_name=debug)] + fn __console_debug_colored2(f: &str, c1: &str, c2: &str); + #[wasm_bindgen(js_namespace=console, js_name=info)] + fn __console_info_colored2(f: &str, c1: &str, c2: &str); + #[wasm_bindgen(js_namespace=console, js_name=warn)] + fn __console_warn_colored2(f: &str, c1: &str, c2: &str); + #[wasm_bindgen(js_namespace=console, js_name=error)] + fn __console_error_colored2(f: &str, c1: &str, c2: &str); +} + +fn log(rec: &log::Record) { + let log_fn = match rec.level() { + log::Level::Trace | log::Level::Debug => __console_debug_colored2, + log::Level::Info => __console_info_colored2, + log::Level::Warn => __console_warn_colored2, + log::Level::Error => __console_error_colored2, + }; + log_fn(&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(); +} + |