bitwarden_wasm_internal/
init.rs

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
34
35
36
use log::{set_max_level, Level};
use wasm_bindgen::prelude::*;

#[wasm_bindgen]
pub enum LogLevel {
    Trace,
    Debug,
    Info,
    Warn,
    Error,
}

fn convert_level(level: LogLevel) -> Level {
    match level {
        LogLevel::Trace => Level::Trace,
        LogLevel::Debug => Level::Debug,
        LogLevel::Info => Level::Info,
        LogLevel::Warn => Level::Warn,
        LogLevel::Error => Level::Error,
    }
}

#[wasm_bindgen]
pub fn set_log_level(level: LogLevel) {
    let log_level = convert_level(level);
    set_max_level(log_level.to_level_filter());
}

#[wasm_bindgen]
pub fn init_sdk(log_level: Option<LogLevel>) {
    console_error_panic_hook::set_once();
    let log_level = convert_level(log_level.unwrap_or(LogLevel::Info));
    if let Err(_e) = console_log::init_with_level(log_level) {
        set_max_level(log_level.to_level_filter())
    }
}