Struct log::Record[][src]

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

The "payload" of a log message.


Record structures are passed as parameters to the log method of the Log trait. Logger implementors manipulate these structures in order to display log messages. Records are automatically created by the log! macro and so are not seen by log users.

Note that the level() and target() accessors are equivalent to self.metadata().level() and self.metadata().target() respectively. These methods are provided as a convenience for users of this structure.


The following example shows a simple logger that displays the level, module path, and message of any Record that is passed to it.

struct SimpleLogger;

impl log::Log for SimpleLogger {
   fn enabled(&self, metadata: &log::Metadata) -> bool {

   fn log(&self, record: &log::Record) {
       if !self.enabled(record.metadata()) {

       println!("{}:{} -- {}",
   fn flush(&self) {}


impl<'a> Record<'a>

Returns a new builder.

The message body.

Metadata about the log directive.

The verbosity level of the message.

The name of the target of the directive.

The module path of the message.

The source file containing the message.

The line containing the message.

Trait Implementations

impl<'a> Clone for Record<'a>

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'a> Debug for Record<'a>

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'a> !Send for Record<'a>

impl<'a> !Sync for Record<'a>