pub struct Record<'a> { /* private fields */ }
Expand description
One logging record
Corresponds to one logging statement like info!(...)
and carries all its
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 its own Drain
,
where actual logging processing is implemented.
Implementations§
Source§impl<'a> Record<'a>
impl<'a> Record<'a>
Sourcepub fn new(
s: &'a RecordStatic<'a>,
msg: &'a Arguments<'a>,
kv: BorrowedKV<'a>,
) -> Self
pub fn new( s: &'a RecordStatic<'a>, msg: &'a Arguments<'a>, kv: BorrowedKV<'a>, ) -> Self
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.
Sourcepub fn tag(&self) -> &str
pub fn tag(&self) -> &str
Get tag
Tag is information that can be attached to Record
that is not meant
to be part of the normal key-value pairs, but only as an ad-hoc control
flag for quick lookup in the Drain
s. 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 it with something reasonably distinct, like create
name.
Sourcepub fn function(&self) -> &'static str
pub fn function(&self) -> &'static str
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.
Sourcepub fn kv(&self) -> BorrowedKV<'_>
pub fn kv(&self) -> BorrowedKV<'_>
Get key-value pairs