Struct log::Record

source ·
pub struct Record<'a> {
    pub(crate) metadata: Metadata<'a>,
    pub(crate) args: Arguments<'a>,
    pub(crate) module_path: Option<MaybeStaticStr<'a>>,
    pub(crate) file: Option<MaybeStaticStr<'a>>,
    pub(crate) line: Option<u32>,
}
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. 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.

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

Fields§

§metadata: Metadata<'a>§args: Arguments<'a>§module_path: Option<MaybeStaticStr<'a>>§file: Option<MaybeStaticStr<'a>>§line: Option<u32>

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 Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    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 Twhere
    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> ToOwned for Twhere
    T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere
    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 Twhere
    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.