[−][src]Struct kompact::Async
Async drain
Async
will send all the logging records to a wrapped drain running in
another thread.
Async
never returns AsyncError::Full
.
Record
s are passed to the worker thread through a channel with a bounded
size (see AsyncBuilder::chan_size
). On channel overflow Async
will
start dropping Record
s and log a message informing about it after
sending more Record
s 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 Record
s 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]
D: 'static + Send + Drain<Err = NeverStruct, Ok = ()>,
New AsyncCore
with default parameters
pub fn new<D>(drain: D) -> AsyncBuilder<D> where
D: 'static + Send + Drain<Err = NeverStruct, Ok = ()>,
[src]
D: 'static + Send + Drain<Err = NeverStruct, Ok = ()>,
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 log(
&self,
record: &Record,
logger_values: &OwnedKVList
) -> Result<(), AsyncError>
[src]
&self,
record: &Record,
logger_values: &OwnedKVList
) -> Result<(), AsyncError>
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]
F: FnOnce(Self) -> R,
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]
F: FilterFn,
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]
F: MapErrFn<Self::Err, E>,
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]
Self::Err: Debug,
Make Self
panic when returning any errors Read more
Auto Trait Implementations
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> SendSyncUnwindSafe for T where
T: Send + Sync + UnwindSafe + ?Sized,
[src]
T: Send + Sync + UnwindSafe + ?Sized,
impl<T> SendSyncUnwindSafeDrain for T where
T: Drain + Send + Sync + UnwindSafe + ?Sized,
[src]
T: Drain + Send + Sync + UnwindSafe + ?Sized,
impl<T> SendSyncRefUnwindSafeDrain for T where
T: Drain + Send + Sync + RefUnwindSafe + ?Sized,
[src]
T: Drain + Send + Sync + RefUnwindSafe + ?Sized,
impl<T> SendRefUnwindSafeDrain for T where
T: Drain + Send + RefUnwindSafe + ?Sized,
[src]
T: Drain + Send + RefUnwindSafe + ?Sized,