log

Trait Log

Source
pub trait Log: Sync + Send {
    // Required methods
    fn enabled(&self, metadata: &Metadata<'_>) -> bool;
    fn log(&self, record: &Record<'_>);
    fn flush(&self);
}
Expand description

A trait encapsulating the operations required of a logger.

Required Methods§

Source

fn enabled(&self, metadata: &Metadata<'_>) -> bool

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

This is used by the log_enabled! macro to allow callers to avoid expensive computation of log message arguments if the message would be discarded anyway.

§For implementors

This method isn’t called automatically by the log! macros. It’s up to an implementation of the Log trait to call enabled in its own log method implementation to guarantee that filtering is applied.

Source

fn log(&self, record: &Record<'_>)

Logs the Record.

§For implementors

Note that enabled is not necessarily called before this method. Implementations of log should perform all necessary filtering internally.

Source

fn flush(&self)

Flushes any buffered records.

§For implementors

This method isn’t called automatically by the log! macros. It can be called manually on shut-down to ensure any in-flight records are flushed.

Implementations on Foreign Types§

Source§

impl<T> Log for &T
where T: ?Sized + Log,

Source§

fn enabled(&self, metadata: &Metadata<'_>) -> bool

Source§

fn log(&self, record: &Record<'_>)

Source§

fn flush(&self)

Source§

impl<T> Log for Box<T>
where T: ?Sized + Log,

Source§

fn enabled(&self, metadata: &Metadata<'_>) -> bool

Source§

fn log(&self, record: &Record<'_>)

Source§

fn flush(&self)

Source§

impl<T> Log for Arc<T>
where T: ?Sized + Log,

Source§

fn enabled(&self, metadata: &Metadata<'_>) -> bool

Source§

fn log(&self, record: &Record<'_>)

Source§

fn flush(&self)

Implementors§