udokai_shared/
lib.rs

1use log::{LevelFilter, SetLoggerError};
2use log4rs::append::file::FileAppender;
3use log4rs::config::{Appender, Root};
4use log4rs::encode::pattern::PatternEncoder;
5use log4rs::Config;
6
7pub fn setup_logger(file: &str) -> Result<log4rs::Handle, SetLoggerError> {
8    let logfile = FileAppender::builder()
9        .encoder(Box::new(PatternEncoder::new("{l} - {m}\n")))
10        .build(file).expect("Failed to create logfile");
11
12    let config = Config::builder()
13        .appender(Appender::builder().build("logfile", Box::new(logfile)))
14        .build(Root::builder()
15                   .appender("logfile")
16                   .build(LevelFilter::Info)).expect("Failed to create config");
17
18    log4rs::init_config(config)
19}