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