[][src]Struct log::Metadata

pub struct Metadata<'a> { /* fields omitted */ }

Metadata about a log message.


Metadata structs are created when users of the library use logging macros.

They are consumed by implementations of the Log trait in the enabled method.

Records use Metadata to determine the log message's severity and target.

Users should use the log_enabled! macro in their code to avoid constructing expensive log messages.


This code runs with edition 2018
use log::{Record, Level, Metadata};

struct MyLogger;

impl log::Log for MyLogger {
    fn enabled(&self, metadata: &Metadata) -> bool {
        metadata.level() <= Level::Info

    fn log(&self, record: &Record) {
        if self.enabled(record.metadata()) {
            println!("{} - {}", record.level(), record.args());
    fn flush(&self) {}


impl<'a> Metadata<'a>[src]

pub fn builder() -> MetadataBuilder<'a>[src]

Returns a new builder.

pub fn level(&self) -> Level[src]

The verbosity level of the message.

pub fn target(&self) -> &'a str[src]

The name of the target of the directive.

Trait Implementations

impl<'a> Clone for Metadata<'a>[src]

impl<'a> Debug for Metadata<'a>[src]

impl<'a> Eq for Metadata<'a>[src]

impl<'a> Hash for Metadata<'a>[src]

impl<'a> Ord for Metadata<'a>[src]

impl<'a> PartialEq<Metadata<'a>> for Metadata<'a>[src]

impl<'a> PartialOrd<Metadata<'a>> for Metadata<'a>[src]

impl<'a> StructuralEq for Metadata<'a>[src]

impl<'a> StructuralPartialEq for Metadata<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for Metadata<'a>

impl<'a> Send for Metadata<'a>

impl<'a> Sync for Metadata<'a>

impl<'a> Unpin for Metadata<'a>

impl<'a> UnwindSafe for Metadata<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.