cli_logger/
lib.rs

1use env_logger::Builder;
2use log::{Level, LevelFilter};
3use std::io::Write;
4
5pub fn init() {
6    init_logger();
7    cli_panics::set_panic_hook();
8}
9
10fn init_logger() {
11    let mut builder = Builder::new();
12
13    builder.format(|buf, record| {
14        let level_style = buf.default_level_style(record.level());
15
16        let level = match record.level() {
17            Level::Info => "*",
18            Level::Warn => "!",
19            Level::Error => "x",
20            _ => "?",
21        };
22
23        writeln!(buf, "[{}] {}", level_style.value(level), record.args())
24    });
25
26    builder.filter_level(LevelFilter::Info);
27    builder.parse_default_env();
28
29    builder.init();
30}