Struct slog::Fuse
[−]
[src]
pub struct Fuse<D: Drain>(pub D)
where
D::Err: Debug;
Drain panicking on error
Logger requires a root drain to handle all errors (Drain::Error == ()),
Fuse will wrap a Drain and panic if it returns any errors.
Note: Drain::Err must implement Display (for displaying on panick). It's
easy to create own Fuse drain if this requirement can't be fulfilled.
Methods
impl<D: Drain> Fuse<D> where
D::Err: Debug, [src]
D::Err: Debug,
fn new(drain: D) -> Self
Create Fuse wrapping given drain
Trait Implementations
impl<D: Debug + Drain> Debug for Fuse<D> where
D::Err: Debug, [src]
D::Err: Debug,
impl<D: Clone + Drain> Clone for Fuse<D> where
D::Err: Debug, [src]
D::Err: Debug,
fn clone(&self) -> Fuse<D>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl<D: Drain> Drain for Fuse<D> where
D::Err: Debug, [src]
D::Err: Debug,
type Ok = ()
Type returned by this drain Read more
type Err = Never
Type of potential errors that can be returned by this Drain
fn log(
&self,
record: &Record,
logger_values: &OwnedKVList
) -> Result<Self::Ok, Never>
&self,
record: &Record,
logger_values: &OwnedKVList
) -> Result<Self::Ok, Never>
Handle one logging statement (Record) Read more
fn map<F, R>(self, f: F) -> R where
Self: Sized,
F: FnOnce(Self) -> R,
Self: Sized,
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
Self: Sized,
F: FilterFn,
Self: Sized,
F: FilterFn,
Filter logging records passed to Drain Read more
fn filter_level(self, level: Level) -> LevelFilter<Self> where
Self: Sized,
Self: Sized,
Filter logging records passed to Drain (by level) Read more
fn map_err<F, E>(self, f: F) -> MapError<Self, E> where
Self: Sized,
F: MapErrFn<Self::Err, E>,
Self: Sized,
F: MapErrFn<Self::Err, E>,
Map logging errors returned by this drain Read more
fn ignore_res(self) -> IgnoreResult<Self> where
Self: Sized,
Self: Sized,
Ignore results returned by this drain Read more
fn fuse(self) -> Fuse<Self> where
Self::Err: Debug,
Self: Sized,
Self::Err: Debug,
Self: Sized,
Make Self panic when returning any errors Read more