use log::LevelFilter;
use simple_logger::SimpleLogger;
use crate::internals::config::{Config, LogWithColor};
const DEFAULT_LEVEL: LevelFilter = LevelFilter::Info;
fn log_level_filter(config: &Config) -> LevelFilter {
if config.trace {
LevelFilter::Trace
} else if config.verbose {
LevelFilter::Debug
} else {
DEFAULT_LEVEL
}
}
pub fn init(config: &Config) {
let log_level_filter = log_level_filter(config);
SimpleLogger::new()
.with_level(log_level_filter)
.with_colors(config.color.use_color())
.init()
.unwrap();
}
pub fn init_default() {
SimpleLogger::new()
.with_level(DEFAULT_LEVEL)
.with_colors(LogWithColor::default().use_color())
.init()
.unwrap();
}