# [−] [src] Trait log::Log

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

A trait encapsulating the operations required of a logger.

## Required methods

### `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.

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

Logs the `Record`.

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

### `fn flush(&self)`

Flushes any buffered records.

Loading content...

## Implementors

Loading content...