Struct slog::Record[][src]

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

One logging record

Corresponds to one logging statement like info!(...) and carries all it's data: eg. message, immediate key-value pairs and key-value pairs of Logger used to execute it.

Record is passed to a Logger, which delivers it to it's own Drain, where actual logging processing is implemented.


impl<'a> Record<'a>

Create a new Record

Most of the time, it is slightly more performant to construct a Record via the record! macro because it enforces that the entire RecordStatic is built at compile-time.

Use this if runtime record creation is a requirement, as is the case with slog-async, for example.

Get a log record message

Get record logging level

Get line number

Get line number

Get error column

Get file path

Get tag

Tag is information that can be attached to Record that is not meant to be part of the norma key-value pairs, but only as an ad-hoc control flag for quick lookup in the Drains. As such should be used carefully and mostly in application code (as opposed to libraries) - where tag meaning across the system can be coordinated. When used in libraries, make sure to prefix is with something reasonably distinct, like create name.

Get module

Get function (placeholder)

There's currently no way to obtain that information in Rust at compile time, so it is not implemented.

It will be implemented at first opportunity, and it will not be considered a breaking change.

Get key-value pairs

Auto Trait Implementations

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

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