Skip to main content

NullSink

Struct NullSink 

Source
pub struct NullSink;
Expand description

Discard sink: accepts every record and drops it. Use this when the test or production stack needs the runtime composition to match LoggingResource(...) shape but does not need to retain log records.

InMemorySink keeps every record alive for as long as the sink (and therefore the wrapping LoggingResource) lives. In long- running stress loops that compose LoggingResource(InMemorySink) once and reuse it across many iterations, that buffer grows unbounded — measurable memory and CPU overhead even if no test reads the records. NullSink solves that by discarding the record without allocating; the decorator still constructs the LogRecord (one stack-allocated value per call), but no per-record retention occurs.

Implementations§

Source§

impl NullSink

Source

pub fn new() -> Self

Trait Implementations§

Source§

impl Default for NullSink

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl LoggingSink for NullSink

Source§

fn emit(&self, _record: LogRecord) -> Result<(), SinkError>

Accept a record. Implementations must not panic on full / closed / IO-error conditions — return SinkError instead.

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, 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.
§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,