[][src]Struct kompact::Async

pub struct Async { /* fields omitted */ }

Async drain

Async will send all the logging records to a wrapped drain running in another thread.

Async never returns AsyncError::Full.

Records are passed to the worker thread through a channel with a bounded size (see AsyncBuilder::chan_size). On channel overflow Async will start dropping Records and log a message informing about it after sending more Records is possible again. The exact details of handling overflow is implementation defined, might change and should not be relied on, other than message won't be dropped as long as channel does not overflow.

Any messages reported by Async will contain slog-async logging Record tag to allow easy custom handling.

Note: On drop Async waits for it's worker-thread to finish (after handling all previous Records sent to it). If you can't tolerate the delay, make sure you drop it eg. in another thread.

Methods

impl Async[src]

pub fn default<D>(drain: D) -> Async where
    D: 'static + Send + Drain<Err = NeverStruct, Ok = ()>, 
[src]

New AsyncCore with default parameters

pub fn new<D>(drain: D) -> AsyncBuilder<D> where
    D: 'static + Send + Drain<Err = NeverStruct, Ok = ()>, 
[src]

Build Async drain with custom parameters

The wrapped drain must handle all results (Drain<Ok=(),Error=Never>) since there's no way to return it back. See slog::DrainExt::fuse() and slog::DrainExt::ignore_res() for typical error handling strategies.

Trait Implementations

impl Drop for Async[src]

impl Drain for Async[src]

type Ok = ()

Type returned by this drain Read more

type Err = AsyncError

Type of potential errors that can be returned by this Drain

fn is_enabled(&self, level: Level) -> bool[src]

Avoid: Check if messages at the specified log level are maybe enabled for this logger. Read more

fn is_critical_enabled(&self) -> bool[src]

Avoid: See is_enabled

fn is_error_enabled(&self) -> bool[src]

Avoid: See is_enabled

fn is_warning_enabled(&self) -> bool[src]

Avoid: See is_enabled

fn is_info_enabled(&self) -> bool[src]

Avoid: See is_enabled

fn is_debug_enabled(&self) -> bool[src]

Avoid: See is_enabled

fn is_trace_enabled(&self) -> bool[src]

Avoid: See is_enabled

fn map<F, R>(self, f: F) -> R where
    F: FnOnce(Self) -> R, 
[src]

Pass Drain through a closure, eg. to wrap into another Drain. Read more

fn filter<F>(self, f: F) -> Filter<Self, F> where
    F: FilterFn
[src]

Filter logging records passed to Drain Read more

fn filter_level(self, level: Level) -> LevelFilter<Self>[src]

Filter logging records passed to Drain (by level) Read more

fn map_err<F, E>(self, f: F) -> MapError<Self, E> where
    F: MapErrFn<Self::Err, E>, 
[src]

Map logging errors returned by this drain Read more

fn ignore_res(self) -> IgnoreResult<Self>[src]

Ignore results returned by this drain Read more

fn fuse(self) -> Fuse<Self> where
    Self::Err: Debug
[src]

Make Self panic when returning any errors Read more

Auto Trait Implementations

impl Send for Async

impl Sync for Async

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T> SendSyncUnwindSafeDrain for T where
    T: Drain + Send + Sync + UnwindSafe + ?Sized
[src]

impl<T> SendSyncRefUnwindSafeDrain for T where
    T: Drain + Send + Sync + RefUnwindSafe + ?Sized
[src]

impl<T> SendRefUnwindSafeDrain for T where
    T: Drain + Send + RefUnwindSafe + ?Sized
[src]

impl<T> Erased for T