use log::{
self,
LogRecord,
LogLevel,
LogLevelFilter,
LogMetadata,
SetLoggerError
};
pub struct StdoutLogger;
impl log::Log for StdoutLogger {
fn enabled(&self, metadata: &LogMetadata) -> bool {
metadata.level() <= LogLevel::Warn
}
fn log(&self, record: &LogRecord) {
if self.enabled(record.metadata()) {
println!("{}", record.args());
}
}
}
pub fn init_stdout_logger(level: LogLevelFilter) -> Result<(), SetLoggerError> {
log::set_logger(|max_log_level| {
max_log_level.set(level);
Box::new(StdoutLogger)
})
}