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 Sink
s.
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.
fn level_filter(&self) -> LevelFilter
fn level_filter(&self) -> LevelFilter
Gets the log level filter.
fn set_level_filter(&self, level_filter: LevelFilter)
fn set_level_filter(&self, level_filter: LevelFilter)
Sets the log level filter.
Provided methods
fn should_log(&self, level: Level) -> bool
fn should_log(&self, level: Level) -> bool
Determines if a log message with the specified level would be logged.
fn set_formatter(&self, formatter: Box<dyn Formatter>)
fn set_formatter(&self, formatter: Box<dyn Formatter>)
Sets the formatter.