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}