march_env_logger_init/
lib.rs1#[macro_use]
2extern crate log;
3use env_logger::Env;
4use log::LevelFilter;
5use chrono::Local;
6use std::io::Write;
7use colored::Colorize;
8pub fn init_logger() {
9 let env = Env::default();
10 env_logger::Builder::from_env(env)
11 .format(|buf, record| {
12 let level_string = format!("{}", record.level());
13 let colored_level = match record.level() {
14 log::Level::Error => level_string.red(),
15 log::Level::Warn => level_string.yellow(),
16 log::Level::Info => level_string.green(),
17 log::Level::Debug | log::Level::Trace => level_string.cyan(),
18 };
19
20 writeln!(
21 buf,
22 "{} {} \n{}",
24 Local::now().format("%Y-%m-%d %H:%M:%S"),
25 colored_level,
26 record.args()
28 )
29 })
30 .filter(None, LevelFilter::Info)
31 .init();
32
33 info!("env_logger initialized.");
34}