Skip to main content

kagami/
logger.rs

1use crate::LogLevel;
2use log::{LevelFilter, debug};
3use simplelog::{ColorChoice, CombinedLogger, Config, TermLogger, TerminalMode};
4
5pub fn initialize_default_logger() {
6    CombinedLogger::init(vec![TermLogger::new(
7        LevelFilter::Trace,
8        Config::default(),
9        TerminalMode::Stderr,
10        ColorChoice::Auto,
11    )])
12    .unwrap();
13    log::set_max_level(LevelFilter::Trace);
14}
15
16pub fn initialize_logger_by_loglevel(log_level: &LogLevel) {
17    let level_filter = match log_level {
18        LogLevel::Error => LevelFilter::Error,
19        LogLevel::Warn => LevelFilter::Warn,
20        LogLevel::Info => LevelFilter::Info,
21        LogLevel::Debug => LevelFilter::Debug,
22        LogLevel::Trace => LevelFilter::Trace,
23    };
24
25    log::set_max_level(level_filter);
26    debug!("Log level is set to {:?}.", log_level);
27}