pub trait LogWriter: Sync + Send {
    // Required methods
    fn write(&self, now: &mut DeferredNow, record: &Record<'_>) -> Result<()>;
    fn flush(&self) -> Result<()>;

    // Provided methods
    fn max_log_level(&self) -> LevelFilter { ... }
    fn format(&mut self, format: FormatFunction) { ... }
    fn shutdown(&self) { ... }
    fn reopen_output(&self) -> Result<(), FlexiLoggerError> { ... }
    fn rotate(&self) -> Result<(), FlexiLoggerError> { ... }
}
Expand description

Writes to a single log output stream.

Boxed instances of LogWriter can be used as additional log targets (see writers for more details).

Required Methods§

source

fn write(&self, now: &mut DeferredNow, record: &Record<'_>) -> Result<()>

Writes out a log line.

§Errors

std::io::Error

source

fn flush(&self) -> Result<()>

Flushes any buffered records.

§Errors

std::io::Error

Provided Methods§

source

fn max_log_level(&self) -> LevelFilter

Provides the maximum log level that is to be written.

source

fn format(&mut self, format: FormatFunction)

Sets the format function.

Defaults to default_format, but can be changed with a call to Logger::format_for_writer.

The default implementation is a no-op.

source

fn shutdown(&self)

Cleanup open resources, if necessary.

source

fn reopen_output(&self) -> Result<(), FlexiLoggerError>

Re-open the current output, if meaningful.

This method is called from LoggerHandle::reopen_output for all registered additional writers.

§Errors

Depend on registered writers.

source

fn rotate(&self) -> Result<(), FlexiLoggerError>

Rotate the current output, if meaningful.

This method is called from LoggerHandle::trigger_rotation for all registered additional writers.

§Errors

Depend on registered writers.

Implementors§

source§

impl LogWriter for FileLogWriter

source§

impl LogWriter for SyslogWriter

Available on crate feature syslog_writer only.