kowalski_core/logging/
mod.rs1use env_logger::Builder;
2use log::LevelFilter;
3use std::io::Write;
4
5pub fn init() {
7 Builder::new()
8 .format(|buf, record| {
9 writeln!(
10 buf,
11 "{} [{}] - {}",
12 chrono::Local::now().format("%Y-%m-%d %H:%M:%S"),
13 record.level(),
14 record.args()
15 )
16 })
17 .filter(None, LevelFilter::Info)
18 .init();
19}
20
21pub fn init_with_level(level: LevelFilter) {
23 Builder::new()
24 .format(|buf, record| {
25 writeln!(
26 buf,
27 "{} [{}] - {}",
28 chrono::Local::now().format("%Y-%m-%d %H:%M:%S"),
29 record.level(),
30 record.args()
31 )
32 })
33 .filter(None, level)
34 .init();
35}
36
37pub fn init_with_filters(filters: &[(&str, LevelFilter)]) {
39 let mut builder = Builder::new();
40 builder.format(|buf, record| {
41 writeln!(
42 buf,
43 "{} [{}] - {}",
44 chrono::Local::now().format("%Y-%m-%d %H:%M:%S"),
45 record.level(),
46 record.args()
47 )
48 });
49
50 for (module, level) in filters {
51 builder.filter(Some(module), *level);
52 }
53
54 builder.init();
55}