use env_logger::Builder;
use log::LevelFilter;
use std::io::Write;
pub fn init() {
Builder::new()
.format(|buf, record| {
writeln!(
buf,
"{} [{}] - {}",
chrono::Local::now().format("%Y-%m-%d %H:%M:%S"),
record.level(),
record.args()
)
})
.filter(None, LevelFilter::Info)
.init();
}
pub fn init_with_level(level: LevelFilter) {
Builder::new()
.format(|buf, record| {
writeln!(
buf,
"{} [{}] - {}",
chrono::Local::now().format("%Y-%m-%d %H:%M:%S"),
record.level(),
record.args()
)
})
.filter(None, level)
.init();
}
pub fn init_with_filters(filters: &[(&str, LevelFilter)]) {
let mut builder = Builder::new();
builder.format(|buf, record| {
writeln!(
buf,
"{} [{}] - {}",
chrono::Local::now().format("%Y-%m-%d %H:%M:%S"),
record.level(),
record.args()
)
});
for (module, level) in filters {
builder.filter(Some(module), *level);
}
builder.init();
}