1use log::{Level, Metadata, Record};
2
3pub struct HwLogger;
19
20impl log::Log for HwLogger {
21 fn enabled(&self, metadata: &Metadata) -> bool {
22 if let Some(level) = log::max_level().to_level() {
23 metadata.level() <= level
24 } else {
25 false
26 }
27 }
28
29 fn log(&self, record: &Record) {
30 if !self.enabled(record.metadata()) {
31 return;
32 }
33
34 let args = record.args();
35
36 match record.level() {
37 Level::Error => crate::errorln!("{args}"),
38 Level::Warn => crate::warningln!("{args}"),
39 Level::Info => crate::infoln!("{args}"),
40 Level::Debug => crate::debugln!("{args}"),
41 Level::Trace => {
42 unimplemented!("`Level::Trace` is unsupported for the `HwLogger` logger")
43 }
44 }
45 }
46
47 fn flush(&self) {}
48}