Skip to main content

Logger

Trait Logger 

Source
pub trait Logger: Send + Sync {
    // Required methods
    fn add(&self, backend: Arc<dyn LogBackend>) -> Result<(), EffectLoggerError>;
    fn replace(
        &self,
        idx: usize,
        backend: Arc<dyn LogBackend>,
    ) -> Result<(), EffectLoggerError>;
    fn remove(&self, idx: usize) -> Result<(), EffectLoggerError>;
}
Expand description

Effect.ts-style composable logger: Self::add, Self::replace, Self::remove.

Message and Output from the gap doc map to LogRecord::message and Result<(), EffectLoggerError> respectively.

Required Methods§

Source

fn add(&self, backend: Arc<dyn LogBackend>) -> Result<(), EffectLoggerError>

Append a backend to the ordered fan-out list.

Source

fn replace( &self, idx: usize, backend: Arc<dyn LogBackend>, ) -> Result<(), EffectLoggerError>

Swap the backend at idx without changing list length.

Source

fn remove(&self, idx: usize) -> Result<(), EffectLoggerError>

Remove the backend at idx, shifting later entries down.

Implementors§