pub struct JsonLayer<W, T = SystemTimestamp> { /* private fields */ }Expand description
A tracing_subscriber::Layer that formats events as JSON lines.
See the crate-level docs for configuration options and output format details.
Implementations§
Source§impl<W> JsonLayer<W>where
W: for<'w> MakeWriter<'w> + 'static,
impl<W> JsonLayer<W>where
W: for<'w> MakeWriter<'w> + 'static,
Sourcepub fn new(make_writer: W) -> Self
pub fn new(make_writer: W) -> Self
Create a new JsonLayer that writes JSON lines to make_writer.
Accepts anything implementing tracing_subscriber::fmt::MakeWriter,
e.g. std::io::stderr or std::io::stdout.
Source§impl<W, T> JsonLayer<W, T>where
W: for<'w> MakeWriter<'w> + 'static,
impl<W, T> JsonLayer<W, T>where
W: for<'w> MakeWriter<'w> + 'static,
Sourcepub fn with_target(self, display_target: bool) -> Self
pub fn with_target(self, display_target: bool) -> Self
Set whether the target field (module path) is included in output.
Default: true.
Sourcepub fn with_file(self, display_filename: bool) -> Self
pub fn with_file(self, display_filename: bool) -> Self
Set whether the filename field is included in output.
Default: false.
Sourcepub fn with_line_number(self, display_line: bool) -> Self
pub fn with_line_number(self, display_line: bool) -> Self
Set whether the line_number field is included in output.
Default: false.
Sourcepub fn with_thread_ids(self, display_thread_id: bool) -> Self
pub fn with_thread_ids(self, display_thread_id: bool) -> Self
Set whether the threadId field is included in output.
Default: false.
Sourcepub fn with_thread_names(self, display_thread_name: bool) -> Self
pub fn with_thread_names(self, display_thread_name: bool) -> Self
Set whether the threadName field is included in output.
Default: false.
Sourcepub fn flatten_event(self, flatten: bool) -> Self
pub fn flatten_event(self, flatten: bool) -> Self
Set whether event fields are flattened to the top level of the JSON
object instead of being nested under a "fields" key.
Default: false (fields are nested).
Sourcepub fn with_timer<T2: FormatTime>(self, timer: T2) -> JsonLayer<W, T2>
pub fn with_timer<T2: FormatTime>(self, timer: T2) -> JsonLayer<W, T2>
Use a custom FormatTime implementation for timestamps.
This replaces the default SystemTimestamp formatter. Any type
implementing FormatTime can be used, including those from
tracing-subscriber such as Uptime and ChronoUtc.
Pass () to disable timestamps entirely (equivalent to
without_time).
Sourcepub fn without_time(self) -> JsonLayer<W, ()>
pub fn without_time(self) -> JsonLayer<W, ()>
Disable timestamps in the output.
This is a convenience for self.with_timer(()).
Trait Implementations§
Source§impl<S, W, T> Layer<S> for JsonLayer<W, T>where
S: Subscriber + for<'a> LookupSpan<'a>,
W: for<'w> MakeWriter<'w> + 'static,
T: FormatTime + 'static,
impl<S, W, T> Layer<S> for JsonLayer<W, T>where
S: Subscriber + for<'a> LookupSpan<'a>,
W: for<'w> MakeWriter<'w> + 'static,
T: FormatTime + 'static,
Source§fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
Attributes and Id.Source§fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)
Id recorded the given
values.Source§fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
fn on_event(&self, event: &Event<'_>, ctx: Context<'_, S>)
Source§fn on_register_dispatch(&self, subscriber: &Dispatch)
fn on_register_dispatch(&self, subscriber: &Dispatch)
Subscriber. Read moreSource§fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
Subscriber::register_callsite. Read moreSource§fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
fn enabled(&self, metadata: &Metadata<'_>, ctx: Context<'_, S>) -> bool
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_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
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>)
Source§fn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
fn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
Source§fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
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>)
Source§fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
fn and_then<L>(self, layer: L) -> Layered<L, Self, S>
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,
Layer with the given Subscriber, returning a
Layered struct that implements Subscriber. Read more