bitwarden_wasm_internal/
init.rs

1use log::{set_max_level, Level};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen]
5pub enum LogLevel {
6    Trace,
7    Debug,
8    Info,
9    Warn,
10    Error,
11}
12
13fn convert_level(level: LogLevel) -> Level {
14    match level {
15        LogLevel::Trace => Level::Trace,
16        LogLevel::Debug => Level::Debug,
17        LogLevel::Info => Level::Info,
18        LogLevel::Warn => Level::Warn,
19        LogLevel::Error => Level::Error,
20    }
21}
22
23#[wasm_bindgen]
24pub fn set_log_level(level: LogLevel) {
25    let log_level = convert_level(level);
26    set_max_level(log_level.to_level_filter());
27}
28
29#[allow(missing_docs)]
30#[wasm_bindgen]
31pub fn init_sdk(log_level: Option<LogLevel>) {
32    console_error_panic_hook::set_once();
33    let log_level = convert_level(log_level.unwrap_or(LogLevel::Info));
34    if let Err(_e) = console_log::init_with_level(log_level) {
35        set_max_level(log_level.to_level_filter())
36    }
37}