# Record in log - Rust
The “payload” of a log message.
Keywords: rust, rustlang, rust-lang, Record

# Struct log::Record

source · [−]

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

Expand description

The “payload” of a log message.

## Use

`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. `Record`s 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.

## Example

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 {
           true
       }

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

           println!("{}:{} -- {}",
                    record.level(),
                    record.target(),
                    record.args());
       }
       fn flush(&self) {}
    }

## Implementations

source

### impl<'a> Record<'a>

source

#### pub fn builder() -> RecordBuilder<'a>

Returns a new builder.

source

#### pub fn args(&self) -> &Arguments<'a>

The message body.

source

#### pub fn metadata(&self) -> &Metadata<'a>

Metadata about the log directive.

source

#### pub fn level(&self) -> Level

The verbosity level of the message.

source

#### pub fn target(&self) -> &'a str

The name of the target of the directive.

source

#### pub fn module_path(&self) -> Option<&'a str>

The module path of the message.

source

#### pub fn module_path_static(&self) -> Option<&'static str>

The module path of the message, if it is a `'static` string.

source

#### pub fn file(&self) -> Option<&'a str>

The source file containing the message.

source

#### pub fn file_static(&self) -> Option<&'static str>

The module path of the message, if it is a `'static` string.

source

#### pub fn line(&self) -> Option<u32>

The line containing the message.

## Trait Implementations

source

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

source

#### fn clone(&self) -> Record<'a>

Returns a copy of the value. Read more

1.0.0 · source

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more

source

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

source

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

## Auto Trait Implementations

### impl<'a> !RefUnwindSafe for Record<'a>

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

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

### impl<'a> Unpin for Record<'a>

### impl<'a> !UnwindSafe for Record<'a>

## Blanket Implementations

source

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

source

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more

source

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

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

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

const: unstable · source

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

const: unstable · source

#### fn from(t: T) -> T

Returns the argument unchanged.

source

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

const: unstable · source

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source

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

#### type Error = Infallible

The type returned in the event of a conversion error.

const: unstable · source

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.

source

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

const: unstable · source

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.