pub struct JamLogger;
impl JamLogger {
#[cfg(all(feature = "logging", not(feature = "no-logging")))]
pub fn init() {
log::set_logger(&JamLogger).expect("Failed to set logger");
log::set_max_level(log::LevelFilter::Trace);
}
#[cfg(not(all(feature = "logging", not(feature = "no-logging"))))]
pub fn init() {}
}
#[cfg(all(feature = "logging", not(feature = "no-logging")))]
impl log::Log for JamLogger {
fn enabled(&self, _metadata: &log::Metadata) -> bool {
true
}
fn log(&self, record: &log::Record) {
use jam_pvm_common::{debug, error, info, trace, warn};
let target = record.target();
match record.level() {
log::Level::Trace => trace!(target = target, "{}", record.args()),
log::Level::Debug => debug!(target = target, "{}", record.args()),
log::Level::Warn => warn!(target = target, "{}", record.args()),
log::Level::Error => error!(target = target, "{}", record.args()),
log::Level::Info => info!(target = target, "{}", record.args()),
}
}
fn flush(&self) {}
}