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_buffer_capacity_limit(self, limit: usize) -> Self
pub fn with_buffer_capacity_limit(self, limit: usize) -> Self
Set the capacity threshold at which the per-thread formatting buffer is shrunk back to its default size after each event.
The formatting buffer is reused across events on the same thread to avoid allocations. If an unusually large event grows the buffer beyond this limit, it is shrunk back to 256 bytes after that event to reclaim memory.
Default: 4096 bytes.
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