Skip to content

Commit 2513891

Browse files
committed
Add an example of wrapping the logger
1 parent 23f7665 commit 2513891

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

examples/wrap.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
use simple_logger::{SimpleLogger, set_up_color_terminal};
2+
use log::{Log, Metadata, Record};
3+
4+
struct WrapperLogger {
5+
simple_logger: SimpleLogger
6+
}
7+
8+
impl 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+
22+
fn main() {
23+
set_up_color_terminal();
24+
25+
let simple_logger = SimpleLogger::new();
26+
log::set_max_level(simple_logger.max_level());
27+
28+
let wrapper_logger = WrapperLogger { simple_logger };
29+
log::set_boxed_logger(Box::new(wrapper_logger)).unwrap();
30+
}

0 commit comments

Comments
 (0)