reactive_graph_utils_test/
logger.rs

1use log::LevelFilter;
2use log::trace;
3use log4rs::Config;
4use log4rs::append::console::ConsoleAppender;
5use log4rs::config::Appender;
6use log4rs::config::Root;
7use log4rs::encode::pattern::PatternEncoder;
8use log4rs::init_config;
9
10pub fn init_logger() {
11    let encoder = PatternEncoder::new("[{f}:{L}] {h([{l}])} {m}{n}");
12    let stdout = ConsoleAppender::builder().encoder(Box::new(encoder)).build();
13    match Config::builder()
14        .appender(Appender::builder().build("stdout", Box::new(stdout)))
15        .build(Root::builder().appender("stdout").build(LevelFilter::Trace))
16    {
17        Ok(config) => match init_config(config) {
18            Ok(_) => trace!("Test logger enabled"),
19            Err(e) => eprintln!("Failed to initialize logger with config: {e}"),
20        },
21        Err(config_errors) => {
22            for config_error in config_errors.errors() {
23                eprintln!("{config_error}");
24            }
25        }
26    }
27}