use log::{Level, Metadata, Record};
pub struct HwLogger;
impl log::Log for HwLogger {
fn enabled(&self, metadata: &Metadata) -> bool {
if let Some(level) = log::max_level().to_level() {
metadata.level() <= level
} else {
false
}
}
fn log(&self, record: &Record) {
if !self.enabled(record.metadata()) {
return;
}
let args = record.args();
match record.level() {
Level::Error => crate::errorln!("{args}"),
Level::Warn => crate::warningln!("{args}"),
Level::Info => crate::infoln!("{args}"),
Level::Debug => crate::debugln!("{args}"),
Level::Trace => {
unimplemented!("`Level::Trace` is unsupported for the `HwLogger` logger")
}
}
}
fn flush(&self) {}
}