use super::{BoxError, LogRecord};
pub trait Processor: Send + Sync {
fn process(&self, record: LogRecord) -> Result<LogRecord, BoxError>;
fn reset(&self) -> Result<(), BoxError> {
Ok(())
}
}
impl<F> Processor for F
where
F: Fn(LogRecord) -> Result<LogRecord, BoxError> + Send + Sync,
{
fn process(&self, record: LogRecord) -> Result<LogRecord, BoxError> {
(self)(record)
}
}