pub struct FieldTransformLayer<N = ()> { /* private fields */ }Expand description
A layer that transforms span fields during recording.
This layer sits between the registry and formatting layers, intercepting field recording to apply transformations. When no transformations are configured for a span, it has zero runtime overhead.
§Example
use better_tracing::layer::transform::FieldTransformLayer;
// Bring the `SubscriberExt` trait into scope to enable `.with(...)`.
use better_tracing::prelude::*;
let transform_layer = FieldTransformLayer::new()
.with_target_transform("kube", |builder| builder
.rename_field("resource_name", "k8s_resource")
.hide_field("internal_token")
.truncate_field("uid", 8)
);
better_tracing::registry()
.with(transform_layer)
.with(better_tracing::fmt::layer())
.init();Implementations§
Source§impl FieldTransformLayer<()>
impl FieldTransformLayer<()>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new field transform layer with no transformations.
This has zero runtime cost until transformations are added.
Sourcepub fn with_target_transform<F>(
self,
target_pattern: &'static str,
builder: F,
) -> FieldTransformLayer<TransformConfig> ⓘ
pub fn with_target_transform<F>( self, target_pattern: &'static str, builder: F, ) -> FieldTransformLayer<TransformConfig> ⓘ
Add transformations for a specific target pattern.
Source§impl FieldTransformLayer<TransformConfig>
impl FieldTransformLayer<TransformConfig>
Sourcepub fn with_target_transform<F>(
self,
target_pattern: &'static str,
builder: F,
) -> Self
pub fn with_target_transform<F>( self, target_pattern: &'static str, builder: F, ) -> Self
Add additional transformations for another target pattern.
Trait Implementations§
Source§impl<N: Debug> Debug for FieldTransformLayer<N>
impl<N: Debug> Debug for FieldTransformLayer<N>
Source§impl<S> Layer<S> for FieldTransformLayer<()>where
S: Subscriber + for<'a> LookupSpan<'a>,
impl<S> Layer<S> for FieldTransformLayer<()>where
S: Subscriber + for<'a> LookupSpan<'a>,
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_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_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> ⓘ
Available on crate features
registry and std only.Source§impl<S> Layer<S> for FieldTransformLayer<TransformConfig>where
S: Subscriber + for<'a> LookupSpan<'a>,
impl<S> Layer<S> for FieldTransformLayer<TransformConfig>where
S: Subscriber + for<'a> LookupSpan<'a>,
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>)
Notifies this layer that a new span was constructed with the given
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>)
Notifies this layer that a span with the given
Id recorded the given
values.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_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_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_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> ⓘ
Available on crate features
registry and std only.Auto Trait Implementations§
impl<N> Freeze for FieldTransformLayer<N>where
N: Freeze,
impl<N> RefUnwindSafe for FieldTransformLayer<N>where
N: RefUnwindSafe,
impl<N> Send for FieldTransformLayer<N>where
N: Send,
impl<N> Sync for FieldTransformLayer<N>where
N: Sync,
impl<N> Unpin for FieldTransformLayer<N>where
N: Unpin,
impl<N> UnwindSafe for FieldTransformLayer<N>where
N: 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