summaryrefslogtreecommitdiff
path: root/webhogg/wasm/src/logger.rs
blob: 96c4cbfd93b94d6abc24344dd8b785c4fa490749 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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();
}