Trait slog::Drain
[−]
[src]
pub trait Drain: Send + Sync { fn log(&self, info: &Record, &OwnedKeyValueList) -> Result<()>; }
Logging drain
Drains generally mean destination for logs, but slog generalize the
term. Drain
-s are responsible for filtering, formatting and writing the
log records into given destination.
Implementing this trait allows writing own Drains, that can be combined with other drains.
Required Methods
fn log(&self, info: &Record, &OwnedKeyValueList) -> Result<()>
Write one logging record
As an optimization (avoiding allocations), loggers are responsible for
providing a byte buffer, that Drain
can use for their own needs.
Implementors
impl<D: Drain + ?Sized> Drain for Box<D>
impl<D: Drain + ?Sized> Drain for Arc<D>
impl Drain for Discard
impl<W: 'static + Write + Send, F: Format + Send> Drain for Streamer<W, F>
impl<F: Format + Send> Drain for AsyncStreamer<F>
impl<D: Drain> Drain for Filter<D>
impl<D: Drain> Drain for LevelFilter<D>
impl<D1: Drain, D2: Drain> Drain for Duplicate<D1, D2>
impl<D1: Drain, D2: Drain> Drain for Failover<D1, D2>