summaryrefslogtreecommitdiff
path: root/webhogg/wasm/src/logger.rs
diff options
context:
space:
mode:
authorDennis Kobert <d-kobert@web.de>2019-06-21 23:52:07 +0200
committerDennis Kobert <d-kobert@web.de>2019-06-21 23:52:07 +0200
commit4e0037169db5d0c7d824debedb5513b69676506a (patch)
tree82c56547fa70b499627236efa66c3bf7e5411ead /webhogg/wasm/src/logger.rs
parent36c89240a87ecb826cf09bc7b3069aa636c9f2f1 (diff)
parent031f63755aada2f1b51eb945fda2a18ad0d24aad (diff)
Merge branch 'wasm' into game_server_refactor
Diffstat (limited to 'webhogg/wasm/src/logger.rs')
-rw-r--r--webhogg/wasm/src/logger.rs33
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();
+}