custom_level_tokens/
custom-level-tokens.rs1#[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}