1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
use chrono::Local;
use env_logger::{Builder, Color};
use log::{set_max_level, Level, LevelFilter};
use std::io::Write;
use std::panic;
use std::process;
pub fn initialize_logger(your_module: &str) {
Builder::new()
.format(|buf, record| {
let mut level_style = buf.style();
match record.level() {
Level::Error => {
level_style.set_color(Color::Red).set_bold(true);
}
Level::Warn => {
level_style.set_color(Color::Yellow);
}
Level::Info => {
level_style.set_color(Color::Cyan);
}
_ => {}
};
writeln!(
buf,
"{} [{}] - {}",
Local::now().format("%Y-%m-%dT%H:%M:%S"),
level_style.value(record.level()),
record.args()
)
})
.filter(None, LevelFilter::Off)
.filter(Some(your_module), LevelFilter::Trace)
.init();
set_max_level(LevelFilter::Info);
}
pub fn disable_panic_msg() {
panic::set_hook(Box::new(|_| {
process::exit(1);
}));
}