rustmax::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: Log + ?Sized,

Source§

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

Source§

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

Source§

fn flush(&self)

Source§

impl<T> Log for FilteredLog<T>
where T: Log,

Source§

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

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

For the wrapped log, this returns true only if both the filter and the wrapped log return true.

Source§

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

Logs the record.

Forwards the record to the wrapped log, but only if the record matches the filter.

Source§

fn flush(&self)

Flushes any buffered records.

Forwards directly to the wrapped log.

Implementors§

Source§

impl Log for Logger

Source§

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

Source§

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