Struct slog_async::Async
[−]
[src]
pub struct Async { /* fields omitted */ }Async drain
Async will send all the logging records to a wrapped drain running in
another thread.
On AsyncError::Full returned by AsyncCore used internally, Async will
drop overflowing Records and report number of dropped messages.
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]
fn default<D: Drain<Err=Never, Ok=()> + Send + 'static>(drain: D) -> Self
New AsyncCore with default parameters
fn new<D: Drain<Err=Never, Ok=()> + Send + 'static>(drain: D)
-> AsyncBuilder<D, Self>
-> AsyncBuilder<D, Self>
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<D> From<AsyncBuilder<D, Async>> for Async where D: Drain<Err=Never, Ok=()> + Send + 'static[src]
fn from(from: AsyncBuilder<D, Async>) -> Async
Performs the conversion.
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) -> AsyncResult<()>
Handle one logging statement (Record) Read more
fn map<F, R>(self, f: F) -> R where 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: Fn(&Record) -> bool + 'static + Send + Sync
Filter logging records passed to Drain Read more
fn filter_level(self, level: Level) -> LevelFilter<Self>
Filter logging records passed to Drain (by level) Read more
fn map_err<F, E>(self, f: F) -> MapError<Self, E> where F: 'static + Sync + Send + Fn(Self::Err) -> E
Map logging errors returned by this drain Read more
fn ignore_res(self) -> IgnoreResult<Self>
Ignore results returned by this drain Read more