use core::fmt;
pub trait Logger: Send + Sync {
fn debug(&self, msg: &str, fields: &[(&str, &dyn fmt::Display)]);
fn info(&self, msg: &str, fields: &[(&str, &dyn fmt::Display)]);
fn warn(&self, msg: &str, fields: &[(&str, &dyn fmt::Display)]);
fn error(&self, msg: &str, fields: &[(&str, &dyn fmt::Display)]);
}
#[derive(Debug, Default, Clone, Copy)]
pub struct NopLogger;
impl Logger for NopLogger {
fn debug(&self, _msg: &str, _fields: &[(&str, &dyn fmt::Display)]) {}
fn info(&self, _msg: &str, _fields: &[(&str, &dyn fmt::Display)]) {}
fn warn(&self, _msg: &str, _fields: &[(&str, &dyn fmt::Display)]) {}
fn error(&self, _msg: &str, _fields: &[(&str, &dyn fmt::Display)]) {}
}