wrap/
wrap.rs

1use log::{Log, Metadata, Record};
2use simple_logger::SimpleLogger;
3
4struct WrapperLogger {
5    simple_logger: SimpleLogger,
6}
7
8impl Log for WrapperLogger {
9    fn enabled(&self, metadata: &Metadata) -> bool {
10        self.simple_logger.enabled(metadata)
11    }
12
13    fn log(&self, record: &Record) {
14        self.simple_logger.log(record)
15    }
16
17    fn flush(&self) {
18        self.simple_logger.flush()
19    }
20}
21
22fn main() {
23    let simple_logger = SimpleLogger::new();
24    log::set_max_level(simple_logger.max_level());
25
26    let wrapper_logger = WrapperLogger { simple_logger };
27    log::set_boxed_logger(Box::new(wrapper_logger)).unwrap();
28
29    log::warn!("This is an example message.");
30}