Skip to main content

TracingFieldBuilder

Struct TracingFieldBuilder 

Source
pub struct TracingFieldBuilder { /* private fields */ }
Expand description

Builder for TracingField metadata.

Implementations§

Source§

impl TracingFieldBuilder

Source

pub fn span_field(self, name: &'static str) -> Self

Set the span field name to extract from.

If not set, the context key (from registration) is used as the span field name for extraction.

Source

pub fn record_as(self, name: &'static str) -> Self

Set the span field name to record into.

If not set, log_name is used as the span field name for recording. Use this when the span field you want to record into differs from the log output field name.

Source

pub fn extract_from_str<T>( self, f: impl Fn(&str) -> Option<T> + Send + Sync + 'static, ) -> Self
where T: Clone + Send + Sync + Serialize + DeserializeOwned + 'static,

Extract from string span field values.

The closure receives the string value and returns Some(T) if conversion succeeds. set_context is called automatically.

Source

pub fn extract_from_u64<T>( self, f: impl Fn(u64) -> Option<T> + Send + Sync + 'static, ) -> Self
where T: Clone + Send + Sync + Serialize + DeserializeOwned + 'static,

Extract from u64 span field values.

Source

pub fn extract_from_i64<T>( self, f: impl Fn(i64) -> Option<T> + Send + Sync + 'static, ) -> Self
where T: Clone + Send + Sync + Serialize + DeserializeOwned + 'static,

Extract from i64 span field values.

Source

pub fn extract_from_bool<T>( self, f: impl Fn(bool) -> Option<T> + Send + Sync + 'static, ) -> Self
where T: Clone + Send + Sync + Serialize + DeserializeOwned + 'static,

Extract from bool span field values.

Source

pub fn enrich_display<T: Display + 'static>(self) -> Self

Enrich both log output and span fields using Display.

This is shorthand for calling both .enrich_log_display::<T>() and .enrich_span_display::<T>().

Source

pub fn enrich_debug<T: Debug + 'static>(self) -> Self

Enrich both log output and span fields using Debug.

This is shorthand for calling both .enrich_log_debug::<T>() and .enrich_span_debug::<T>().

Source

pub fn enrich_custom<T: 'static>( self, f: impl Fn(&T) -> String + Send + Sync + 'static, ) -> Self

Enrich both log output and span fields with a custom formatting function.

This is shorthand for calling both .enrich_log_custom::<T>(f) and .enrich_span_custom::<T>(f) with the same function.

Source

pub fn enrich_log_display<T: Display + 'static>(self) -> Self

Enrich log output only using Display.

The value will appear in log events via WithContextFields but will NOT be automatically recorded into span fields.

Source

pub fn enrich_log_debug<T: Debug + 'static>(self) -> Self

Enrich log output only using Debug.

Source

pub fn enrich_log_custom<T: 'static>( self, f: impl Fn(&T) -> String + Send + Sync + 'static, ) -> Self

Enrich log output only with a custom formatting function.

Source

pub fn enrich_span_display<T: Display + 'static>(self) -> Self

Record into span fields using Display.

On span enter, the current context value is formatted and recorded into the span field (must be pre-declared with tracing::field::Empty). Spans without the field are silently skipped.

Source

pub fn enrich_span_debug<T: Debug + 'static>(self) -> Self

Record into span fields using Debug.

Source

pub fn enrich_span_custom<T: 'static>( self, f: impl Fn(&T) -> String + Send + Sync + 'static, ) -> Self

Record into span fields with a custom formatting function.

On span enter, the current context value is passed to f and the result is recorded into the span field.

Source

pub fn build(self) -> TracingField

Build the TracingField metadata.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more