pub struct WideEventLayer<W = Stdout, F = JsonFormatter, T = Rfc3339> { /* private fields */ }Expand description
A tracing_subscriber::Layer that writes wide event output.
Timestamp precision is controlled by the FormatTime implementation
(default: Rfc3339). Swap it with with_timer:
use wide_event::WideEventLayer;
use tracing_subscriber::fmt::time::Uptime;
tracing_subscriber::registry()
.with(WideEventLayer::stdout().with_timer(Uptime::default()))
.init();Implementations§
Source§impl<W: Write + Send + 'static, F: WideEventFormatter> WideEventLayer<W, F, Rfc3339>
impl<W: Write + Send + 'static, F: WideEventFormatter> WideEventLayer<W, F, Rfc3339>
Sourcepub fn new(writer: W, formatter: F) -> Self
pub fn new(writer: W, formatter: F) -> Self
Create a layer with a custom writer and formatter.
Uses Rfc3339 timestamps by default.
Call with_timer to change.
Source§impl<W: Write + Send + 'static, F: WideEventFormatter, T: FormatTime> WideEventLayer<W, F, T>
impl<W: Write + Send + 'static, F: WideEventFormatter, T: FormatTime> WideEventLayer<W, F, T>
Sourcepub fn with_system(self, system: &'static str) -> Self
pub fn with_system(self, system: &'static str) -> Self
Set a process-wide "system" field injected into every wide event.
Sourcepub fn with_target_prefix(self, prefix: &'static str) -> Self
pub fn with_target_prefix(self, prefix: &'static str) -> Self
Set the target prefix for wide event output.
The actual tracing target is always wide_event (a macro
limitation), but the formatted output uses {prefix}::{subsystem}
as the subsystem identifier.
Sourcepub fn with_timer<T2: FormatTime>(self, timer: T2) -> WideEventLayer<W, F, T2>
pub fn with_timer<T2: FormatTime>(self, timer: T2) -> WideEventLayer<W, F, T2>
Set the timestamp formatter.
Accepts any FormatTime implementation from tracing_subscriber::fmt::time.
Trait Implementations§
Source§impl<S, W, F, T> Layer<S> for WideEventLayer<W, F, T>where
S: Subscriber + for<'a> LookupSpan<'a>,
W: Write + Send + 'static,
F: WideEventFormatter + 'static,
T: FormatTime + Send + Sync + 'static,
impl<S, W, F, T> Layer<S> for WideEventLayer<W, F, T>where
S: Subscriber + for<'a> LookupSpan<'a>,
W: Write + Send + 'static,
F: WideEventFormatter + 'static,
T: FormatTime + Send + Sync + 'static,
Source§fn 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.
Source§fn on_register_dispatch(&self, subscriber: &Dispatch)
fn on_register_dispatch(&self, subscriber: &Dispatch)
Performs late initialization when installing this layer as a
Subscriber. Read moreSource§fn 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 moreSource§fn 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 moreSource§fn 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.Source§fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
Notifies this layer that a span with the given
Id recorded the given
values.Source§fn 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.Source§fn 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.
Source§fn 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.
Source§fn 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.
Source§fn 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.
Source§fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
Composes this layer around the given
Layer, returning a Layered
struct implementing Layer. Read moreSource§fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
Composes this
Layer with the given Subscriber, returning a
Layered struct that implements Subscriber. Read moreSource§fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>
Auto Trait Implementations§
impl<W = Stdout, F = JsonFormatter, T = Rfc3339> !Freeze for WideEventLayer<W, F, T>
impl<W, F, T> RefUnwindSafe for WideEventLayer<W, F, T>where
F: RefUnwindSafe,
T: RefUnwindSafe,
impl<W, F, T> Send for WideEventLayer<W, F, T>
impl<W, F, T> Sync for WideEventLayer<W, F, T>
impl<W, F, T> Unpin for WideEventLayer<W, F, T>
impl<W, F, T> UnsafeUnpin for WideEventLayer<W, F, T>
impl<W, F, T> UnwindSafe for WideEventLayer<W, F, T>where
F: UnwindSafe,
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more