pub struct CompositeSink { /* private fields */ }Expand description
An EventSink that dispatches events to multiple other EventSinks.
This allows for fanning out telemetry events to different sinks, each with its own filtering and processing logic.
Implementations§
Source§impl CompositeSink
impl CompositeSink
Sourcepub fn new(
sinks: Vec<(LevelFilter, Box<dyn EventSink>)>,
target_max_level: Vec<(String, LevelFilter)>,
max_level_override: Option<LevelFilter>,
) -> CompositeSink
pub fn new( sinks: Vec<(LevelFilter, Box<dyn EventSink>)>, target_max_level: Vec<(String, LevelFilter)>, max_level_override: Option<LevelFilter>, ) -> CompositeSink
Creates a new CompositeSink.
Trait Implementations§
Source§impl EventSink for CompositeSink
impl EventSink for CompositeSink
fn on_startup(&self, process_info: Arc<ProcessInfo>)
fn on_shutdown(&self)
fn on_log_enabled(&self, metadata: &LogMetadata<'_>) -> bool
fn on_log( &self, metadata: &LogMetadata<'_>, properties: &[Property], time: i64, args: Arguments<'_>, )
fn on_init_log_stream(&self, log_stream: &EventStream<EventBlock<LogMsgQueue>>)
fn on_process_log_block(&self, old_event_block: Arc<EventBlock<LogMsgQueue>>)
fn on_init_metrics_stream( &self, metrics_stream: &EventStream<EventBlock<MetricsMsgQueue>>, )
fn on_process_metrics_block( &self, old_event_block: Arc<EventBlock<MetricsMsgQueue>>, )
fn on_init_thread_stream( &self, thread_stream: &EventStream<EventBlock<ThreadEventQueue>>, )
fn on_process_thread_block( &self, old_event_block: Arc<EventBlock<ThreadEventQueue>>, )
fn is_busy(&self) -> bool
Auto Trait Implementations§
impl Freeze for CompositeSink
impl !RefUnwindSafe for CompositeSink
impl Send for CompositeSink
impl Sync for CompositeSink
impl Unpin for CompositeSink
impl !UnwindSafe for CompositeSink
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].