use chrono::Local;
use env_logger::Builder;
use log::LevelFilter;
use std::io::Write;
pub fn init_log(log_level: &str) {
let mut builder = Builder::new();
let level_filter = match log_level.to_lowercase().as_str() {
"info" => LevelFilter::Info,
"warn" => LevelFilter::Warn,
"error" => LevelFilter::Error,
_ => LevelFilter::Info,
};
builder
.format(move |buf, record| {
let style = buf.default_level_style(record.level());
let level = style.value(record.level()); let path = record.module_path().unwrap_or_default();
writeln!(
buf,
"{} [{}] [{}]: {}",
Local::now().format("%Y-%m-%d %H:%M:%S"),
level,
path,
record.args()
)
})
.filter(None, level_filter)
.init();
}