summaryrefslogtreecommitdiff
path: root/webhogg/wasm/src/logger.rs
diff options
context:
space:
mode:
authorTrueDoctor <dennis@kobert.dev>2019-06-22 00:03:37 +0200
committerGitHub <noreply@github.com>2019-06-22 00:03:37 +0200
commit8b2040eb93e8e4355c8f357b775dedcffafff3dc (patch)
tree0b2c4724f0c75d09ee8b86f397bf6602a899e825 /webhogg/wasm/src/logger.rs
parent9e9c1c822a64c0a65033b7eed07ea661a385cecc (diff)
parent5522731ec4de8741f923b339ca942f8aaff2a338 (diff)
Merge pull request #39 from TrueDoctor/game_server_refactor
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();
+}