pub trait Sink: Sync + Send {
    fn log(&self, record: &Record<'_>) -> Result<()>;
fn flush(&self) -> Result<()>;
fn level_filter(&self) -> LevelFilter;
fn set_level_filter(&self, level_filter: LevelFilter);
fn swap_formatter(
        &self,
        formatter: Box<dyn Formatter>
    ) -> Box<dyn Formatter>; fn should_log(&self, level: Level) -> bool { ... }
fn set_formatter(&self, formatter: Box<dyn Formatter>) { ... } }
Expand description

A trait for sinks.

Sinks are the objects that actually write logs to their targets. Each sink should be responsible for only single target (e.g file, console, database), and each sink has its own private instance of Formatter object.

A Logger can combine multiple Sinks.

A sink has its own level filter that is not shared with the logger.

Required methods

Logs a record.

Implementors should always call Sink::should_log internally to filter records.

Flushes any buffered records.

Gets the log level filter.

Sets the log level filter.

Sets the log level filter, and returns the old formatter.

Provided methods

Determines if a log message with the specified level would be logged.

Sets the formatter.

Implementors