custom_level_tokens/
custom-level-tokens.rs

1#[macro_use]
2extern crate log;
3
4use colog::format::CologStyle;
5use env_logger::Builder;
6use log::{Level, LevelFilter};
7
8pub struct CustomLevelToken;
9
10impl CologStyle for CustomLevelToken {
11    fn level_token(&self, level: &Level) -> &str {
12        match *level {
13            Level::Error => "ERR",
14            Level::Warn => "WRN",
15            Level::Info => "INF",
16            Level::Debug => "DBG",
17            Level::Trace => "TRC",
18        }
19    }
20}
21
22fn main() {
23    let mut builder = Builder::new();
24    builder.format(colog::formatter(CustomLevelToken));
25    builder.filter(None, LevelFilter::Trace);
26    builder.init();
27    error!("error message");
28    error!("error with fmt: {}", 42);
29    warn!("warn message");
30    info!("info message");
31    debug!("debug message");
32    trace!("trace message");
33}