Struct tracing_journald::Layer
source · [−]pub struct Layer { /* private fields */ }
Expand description
Sends events and their fields to journald
journald conventions for structured field names differ from typical tracing idioms, and journald
discards fields which violate its conventions. Hence, this layer automatically sanitizes field
names by translating .
s into _
s, stripping leading _
s and non-ascii-alphanumeric
characters other than _
, and upcasing.
Levels are mapped losslessly to journald PRIORITY
values as follows:
ERROR
=> Error (3)WARN
=> Warning (4)INFO
=> Notice (5)DEBUG
=> Informational (6)TRACE
=> Debug (7)
The standard journald CODE_LINE
and CODE_FILE
fields are automatically emitted. A TARGET
field is emitted containing the event’s target.
For events recorded inside spans, an additional SPAN_NAME
field is emitted with the name of
each of the event’s parent spans.
User-defined fields other than the event message
field have a prefix applied by default to
prevent collision with standard fields.
Implementations
sourceimpl Layer
impl Layer
sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Construct a journald layer
Fails if the journald socket couldn’t be opened. Returns a NotFound
error unconditionally
in non-Unix environments.
sourcepub fn with_field_prefix(self, x: Option<String>) -> Self
pub fn with_field_prefix(self, x: Option<String>) -> Self
Sets the prefix to apply to names of user-defined fields other than the event message
field. Defaults to Some("F")
.
sourcepub fn with_syslog_identifier(self, identifier: String) -> Self
pub fn with_syslog_identifier(self, identifier: String) -> Self
Sets the syslog identifier for this logger.
The syslog identifier comes from the classic syslog interface (openlog()
and syslog()
) and tags log entries with a given identifier.
Systemd exposes it in the SYSLOG_IDENTIFIER
journal field, and allows
filtering log messages by syslog identifier with journalctl -t
.
Unlike the unit (journalctl -u
) this field is not trusted, i.e. applications
can set it freely, and use it e.g. to further categorize log entries emitted under
the same systemd unit or in the same process. It also allows to filter for log
entries of processes not started in their own unit.
See Journal Fields and journalctl for more information.
Defaults to the file name of the executable of the current process, if any.
sourcepub fn syslog_identifier(&self) -> &str
pub fn syslog_identifier(&self) -> &str
Returns the syslog identifier in use.
Trait Implementations
sourceimpl<S> Layer<S> for Layer where
S: Subscriber + for<'span> LookupSpan<'span>,
impl<S> Layer<S> for Layer where
S: Subscriber + for<'span> LookupSpan<'span>,
sourcefn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
Notifies this layer that a new span was constructed with the given
Attributes
and Id
. Read more
sourcefn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
Notifies this layer that a span with the given Id
recorded the given
values
. Read more
sourcefn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
Notifies this layer that an event has occurred.
sourcefn on_layer(&mut self, subscriber: &mut S)
fn on_layer(&mut self, subscriber: &mut S)
Performs late initialization when attaching a Layer
to a
Subscriber
. Read more
sourcefn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
Registers a new callsite with this layer, returning whether or not
the layer is interested in being notified about the callsite, similarly
to Subscriber::register_callsite
. Read more
sourcefn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
Returns true
if this layer is interested in a span or event with the
given metadata
in the current Context
, similarly to
Subscriber::enabled
. Read more
sourcefn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
Notifies this layer that a span with the ID span
recorded that it
follows from the span with the ID follows
. Read more
sourcefn on_enter(&self, _id: &Id, _ctx: Context<'_, S>)
fn on_enter(&self, _id: &Id, _ctx: Context<'_, S>)
Notifies this layer that a span with the given ID was entered.
sourcefn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
fn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
Notifies this layer that the span with the given ID was exited.
sourcefn on_close(&self, _id: Id, _ctx: Context<'_, S>)
fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
Notifies this layer that the span with the given ID has been closed.
sourcefn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
Notifies this layer that a span ID has been cloned, and that the subscriber returned a different ID. Read more
sourcefn and_then<L>(self, layer: L) -> Layered<L, Self, S> where
L: Layer<S>,
fn and_then<L>(self, layer: L) -> Layered<L, Self, S> where
L: Layer<S>,
Composes this layer around the given Layer
, returning a Layered
struct implementing Layer
. Read more
sourcefn with_subscriber(self, inner: S) -> Layered<Self, S, S>
fn with_subscriber(self, inner: S) -> Layered<Self, S, S>
Composes this Layer
with the given Subscriber
, returning a
Layered
struct that implements Subscriber
. Read more
sourcefn with_filter<F>(self, filter: F) -> Filtered<Self, F, S> where
F: Filter<S>,
fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S> where
F: Filter<S>,
Auto Trait Implementations
impl RefUnwindSafe for Layer
impl Send for Layer
impl Sync for Layer
impl Unpin for Layer
impl UnwindSafe for Layer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more