#[derive(Copy, Clone)]
pub struct Log {}
impl Log {
#[allow(clippy::trivially_copy_pass_by_ref)]
pub fn activate(&'static self) {
let _ = log::set_logger(self).map(|()| log::set_max_level(log::LevelFilter::Trace));
}
}
impl log::Log for Log {
fn enabled(&self, _metadata: &log::Metadata<'_>) -> bool {
true
}
fn log(&self, record: &log::Record<'_>) {
let level = match record.level() {
log::Level::Error => ark_api::core::LogLevel::Error,
log::Level::Warn => ark_api::core::LogLevel::Warn,
log::Level::Info => ark_api::core::LogLevel::Info,
log::Level::Debug => ark_api::core::LogLevel::Debug,
log::Level::Trace => ark_api::core::LogLevel::Trace,
};
let s = format!("{}", record.args());
ark_api::core::log(level, &s);
}
fn flush(&self) {}
}
pub static LOG: Log = Log {};