polyhorn_android/raw/
logger.rs

1use log::{Level, Metadata, Record};
2use polyhorn_android_sys::{android_log_write, AndroidLogPriority};
3
4pub struct AndroidLogger;
5
6impl log::Log for AndroidLogger {
7    fn enabled(&self, _metadata: &Metadata) -> bool {
8        true
9    }
10
11    fn log(&self, record: &Record) {
12        android_log_write(
13            match record.level() {
14                Level::Error => AndroidLogPriority::Error,
15                Level::Warn => AndroidLogPriority::Warn,
16                Level::Info => AndroidLogPriority::Info,
17                Level::Debug => AndroidLogPriority::Debug,
18                Level::Trace => AndroidLogPriority::Verbose,
19            },
20            "polyhorn",
21            &record.args().to_string(),
22        )
23    }
24
25    fn flush(&self) {}
26}