Skip to main content

rivet_logger/logger/
processor.rs

1use super::{BoxError, LogRecord};
2
3pub trait Processor: Send + Sync {
4    fn process(&self, record: LogRecord) -> Result<LogRecord, BoxError>;
5
6    fn reset(&self) -> Result<(), BoxError> {
7        Ok(())
8    }
9}
10
11impl<F> Processor for F
12where
13    F: Fn(LogRecord) -> Result<LogRecord, BoxError> + Send + Sync,
14{
15    fn process(&self, record: LogRecord) -> Result<LogRecord, BoxError> {
16        (self)(record)
17    }
18}