Trait tracing_subscriber::fmt::format::FormatFields

source ·
pub trait FormatFields<'writer> {
    // Required method
    fn format_fields<R: RecordFields>(
        &self,
        writer: Writer<'writer>,
        fields: R,
    ) -> Result;

    // Provided method
    fn add_fields(
        &self,
        current: &'writer mut FormattedFields<Self>,
        fields: &Record<'_>,
    ) -> Result { ... }
}
Expand description

A type that can format a set of fields to a Writer.

FormatFields is primarily used in the context of FmtSubscriber. Each time a span or event with fields is recorded, the subscriber will format those fields with its associated FormatFields implementation.

Required Methods§

source

fn format_fields<R: RecordFields>( &self, writer: Writer<'writer>, fields: R, ) -> Result

Format the provided fields to the provided Writer, returning a result.

Provided Methods§

source

fn add_fields( &self, current: &'writer mut FormattedFields<Self>, fields: &Record<'_>, ) -> Result

Record additional field(s) on an existing span.

By default, this appends a space to the current set of fields if it is non-empty, and then calls self.format_fields. If different behavior is required, the default implementation of this method can be overridden.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a> FormatFields<'a> for JsonFields

source§

impl<'cx, 'writer, S, N> FormatFields<'writer> for FmtContext<'cx, S, N>
where S: Subscriber + for<'lookup> LookupSpan<'lookup>, N: FormatFields<'writer> + 'static,

source§

impl<'writer> FormatFields<'writer> for Pretty

source§

impl<'writer, M> FormatFields<'writer> for M