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#[wasm_bindgen]
30pub fn init_sdk(log_level: Option<LogLevel>) {
31    console_error_panic_hook::set_once();
32    let log_level = convert_level(log_level.unwrap_or(LogLevel::Info));
33    if let Err(_e) = console_log::init_with_level(log_level) {
34        set_max_level(log_level.to_level_filter())
35    }
36}