oxygengine_backend_web/
log.rs1use core::log::{Log, Logger};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5extern "C" {
6 #[wasm_bindgen(js_namespace = console, js_name = log)]
7 pub fn console_log(s: &str);
8}
9
10#[wasm_bindgen]
11extern "C" {
12 #[wasm_bindgen(js_namespace = console, js_name = warn)]
13 pub fn console_warn(s: &str);
14}
15
16#[wasm_bindgen]
17extern "C" {
18 #[wasm_bindgen(js_namespace = console, js_name = error)]
19 pub fn console_error(s: &str);
20}
21
22#[wasm_bindgen]
23extern "C" {
24 #[wasm_bindgen(js_namespace = console, js_name = debug)]
25 pub fn console_debug(s: &str);
26}
27
28#[wasm_bindgen]
29extern "C" {
30 #[wasm_bindgen(js_namespace = console, js_name = profile)]
31 pub fn console_profile(s: &str);
32}
33
34#[wasm_bindgen]
35extern "C" {
36 #[wasm_bindgen(js_namespace = console, js_name = profileEnd)]
37 pub fn console_profile_end(s: &str);
38}
39
40pub struct WebLogger;
41
42impl Logger for WebLogger {
43 fn log(&mut self, mode: Log, message: String) {
44 match mode {
45 Log::Info => console_log(&format!("[INFO] {}", message)),
46 Log::Warning => console_warn(&format!("[WARNING] {}", message)),
47 Log::Error => console_error(&format!("[ERROR] {}", message)),
48 Log::Debug => console_debug(&format!("[DEBUG] {}", message)),
49 }
50 }
51}