Struct LevelFilter
pub struct LevelFilter(/* private fields */);
Expand description
A filter comparable to a verbosity Level
.
If a Level
is considered less than or equal to a LevelFilter
, it
should be considered enabled; if greater than the LevelFilter
, that level
is disabled. See LevelFilter::current
for more details.
Note that this is essentially identical to the Level
type, but with the
addition of an OFF
level that completely disables all trace
instrumentation.
See the documentation for the Level
type to see how Level
s
and LevelFilter
s interact.
Implementations§
§impl LevelFilter
impl LevelFilter
pub const OFF: LevelFilter
pub const OFF: LevelFilter
The “off” level.
Designates that trace instrumentation should be completely disabled.
pub const ERROR: LevelFilter
pub const ERROR: LevelFilter
The “error” level.
Designates very serious errors.
pub const WARN: LevelFilter
pub const WARN: LevelFilter
The “warn” level.
Designates hazardous situations.
pub const INFO: LevelFilter
pub const INFO: LevelFilter
The “info” level.
Designates useful information.
pub const DEBUG: LevelFilter
pub const DEBUG: LevelFilter
The “debug” level.
Designates lower priority information.
pub const TRACE: LevelFilter
pub const TRACE: LevelFilter
The “trace” level.
Designates very low priority, often extremely verbose, information.
pub const fn from_level(level: Level) -> LevelFilter
pub const fn from_level(level: Level) -> LevelFilter
Returns a LevelFilter
that enables spans and events with verbosity up
to and including level
.
pub const fn into_level(self) -> Option<Level>
pub const fn into_level(self) -> Option<Level>
pub fn current() -> LevelFilter
pub fn current() -> LevelFilter
Returns a LevelFilter
that matches the most verbose Level
that any
currently active Subscriber
will enable.
User code should treat this as a hint. If a given span or event has a
level higher than the returned LevelFilter
, it will not be enabled.
However, if the level is less than or equal to this value, the span or
event is not guaranteed to be enabled; the subscriber will still
filter each callsite individually.
Therefore, comparing a given span or event’s level to the returned
LevelFilter
can be used for determining if something is
disabled, but should not be used for determining if something is
enabled.
Trait Implementations§
§impl AsLog for LevelFilter
impl AsLog for LevelFilter
§type Log = LevelFilter
type Log = LevelFilter
log
type that this type can be converted into.§fn as_log(&self) -> <LevelFilter as AsLog>::Log
fn as_log(&self) -> <LevelFilter as AsLog>::Log
log
equivalent of self
.§impl Clone for LevelFilter
impl Clone for LevelFilter
§fn clone(&self) -> LevelFilter
fn clone(&self) -> LevelFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for LevelFilter
impl Debug for LevelFilter
§impl Display for LevelFilter
impl Display for LevelFilter
§impl<S> Filter<S> for LevelFilter
impl<S> Filter<S> for LevelFilter
§fn enabled(&self, meta: &Metadata<'_>, _: &Context<'_, S>) -> bool
fn enabled(&self, meta: &Metadata<'_>, _: &Context<'_, S>) -> bool
true
if this layer is interested in a span or event with the
given Metadata
in the current [Context
], similarly to
Subscriber::enabled
. Read more§fn callsite_enabled(&self, meta: &'static Metadata<'static>) -> Interest
fn callsite_enabled(&self, meta: &'static Metadata<'static>) -> Interest
§fn max_level_hint(&self) -> Option<LevelFilter>
fn max_level_hint(&self) -> Option<LevelFilter>
§fn event_enabled(&self, event: &Event<'_>, cx: &Context<'_, S>) -> bool
fn event_enabled(&self, event: &Event<'_>, cx: &Context<'_, S>) -> bool
Layer]'s [
on_event], to determine if
on_event` should be called. Read more§fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
§fn on_enter(&self, id: &Id, ctx: Context<'_, S>)
fn on_enter(&self, id: &Id, ctx: Context<'_, S>)
§impl From<Level> for LevelFilter
impl From<Level> for LevelFilter
§fn from(level: Level) -> LevelFilter
fn from(level: Level) -> LevelFilter
§impl From<LevelFilter> for Option<Level>
impl From<LevelFilter> for Option<Level>
§fn from(filter: LevelFilter) -> Option<Level>
fn from(filter: LevelFilter) -> Option<Level>
§impl From<Option<Level>> for LevelFilter
impl From<Option<Level>> for LevelFilter
§fn from(level: Option<Level>) -> LevelFilter
fn from(level: Option<Level>) -> LevelFilter
§impl FromStr for LevelFilter
impl FromStr for LevelFilter
§type Err = ParseLevelFilterError
type Err = ParseLevelFilterError
§fn from_str(from: &str) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>
fn from_str(from: &str) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>
s
to return a value of this type. Read more§impl Hash for LevelFilter
impl Hash for LevelFilter
§impl<S> Layer<S> for LevelFilterwhere
S: Subscriber,
impl<S> Layer<S> for LevelFilterwhere
S: Subscriber,
§fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest
Subscriber::register_callsite
. Read more§fn enabled(&self, metadata: &Metadata<'_>, _: Context<'_, S>) -> bool
fn enabled(&self, metadata: &Metadata<'_>, _: Context<'_, S>) -> bool
true
if this layer is interested in a span or event with the
given metadata
in the current [Context
], similarly to
Subscriber::enabled
. Read more§fn on_register_dispatch(&self, subscriber: &Dispatch)
fn on_register_dispatch(&self, subscriber: &Dispatch)
Subscriber
. Read more§fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)
Attributes
and Id
.§fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, S>)
Id
recorded the given
values
.§fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, S>)
span
recorded that it
follows from the span with the ID follows
.§fn event_enabled(&self, _event: &Event<'_>, _ctx: Context<'_, S>) -> bool
fn event_enabled(&self, _event: &Event<'_>, _ctx: Context<'_, S>) -> bool
§fn on_event(&self, _event: &Event<'_>, _ctx: Context<'_, S>)
fn on_event(&self, _event: &Event<'_>, _ctx: Context<'_, S>)
§fn on_enter(&self, _id: &Id, _ctx: Context<'_, S>)
fn on_enter(&self, _id: &Id, _ctx: Context<'_, S>)
§fn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
fn on_exit(&self, _id: &Id, _ctx: Context<'_, S>)
§fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
fn on_close(&self, _id: Id, _ctx: Context<'_, S>)
§fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, S>)
§fn and_then<L>(self, layer: L) -> Layered<L, Self, S>where
L: Layer<S>,
Self: Sized,
fn and_then<L>(self, layer: L) -> Layered<L, Self, S>where
L: Layer<S>,
Self: Sized,
Layer
, returning a Layered
struct implementing Layer
. Read more§fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
fn with_subscriber(self, inner: S) -> Layered<Self, S>where
Self: Sized,
Layer
with the given Subscriber
, returning a
Layered
struct that implements Subscriber
. Read more§fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>where
Self: Sized,
F: Filter<S>,
fn with_filter<F>(self, filter: F) -> Filtered<Self, F, S>where
Self: Sized,
F: Filter<S>,
§impl Ord for LevelFilter
impl Ord for LevelFilter
§impl PartialEq<Level> for LevelFilter
impl PartialEq<Level> for LevelFilter
§impl PartialEq<LevelFilter> for Level
impl PartialEq<LevelFilter> for Level
§impl PartialEq for LevelFilter
impl PartialEq for LevelFilter
§impl PartialOrd<Level> for LevelFilter
impl PartialOrd<Level> for LevelFilter
§impl PartialOrd<LevelFilter> for Level
impl PartialOrd<LevelFilter> for Level
§fn partial_cmp(&self, other: &LevelFilter) -> Option<Ordering>
fn partial_cmp(&self, other: &LevelFilter) -> Option<Ordering>
§fn lt(&self, other: &LevelFilter) -> bool
fn lt(&self, other: &LevelFilter) -> bool
§fn le(&self, other: &LevelFilter) -> bool
fn le(&self, other: &LevelFilter) -> bool
§fn gt(&self, other: &LevelFilter) -> bool
fn gt(&self, other: &LevelFilter) -> bool
§fn ge(&self, other: &LevelFilter) -> bool
fn ge(&self, other: &LevelFilter) -> bool
§impl PartialOrd for LevelFilter
impl PartialOrd for LevelFilter
§fn partial_cmp(&self, other: &LevelFilter) -> Option<Ordering>
fn partial_cmp(&self, other: &LevelFilter) -> Option<Ordering>
§fn lt(&self, other: &LevelFilter) -> bool
fn lt(&self, other: &LevelFilter) -> bool
§fn le(&self, other: &LevelFilter) -> bool
fn le(&self, other: &LevelFilter) -> bool
§fn gt(&self, other: &LevelFilter) -> bool
fn gt(&self, other: &LevelFilter) -> bool
§fn ge(&self, other: &LevelFilter) -> bool
fn ge(&self, other: &LevelFilter) -> bool
impl Copy for LevelFilter
impl Eq for LevelFilter
impl StructuralPartialEq for LevelFilter
Auto Trait Implementations§
impl Freeze for LevelFilter
impl RefUnwindSafe for LevelFilter
impl Send for LevelFilter
impl Sync for LevelFilter
impl Unpin for LevelFilter
impl UnwindSafe for LevelFilter
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<F, S> FilterExt<S> for Fwhere
F: Filter<S>,
impl<F, S> FilterExt<S> for Fwhere
F: Filter<S>,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more§impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
type Error = <U as RamaTryFrom<T>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
type Error = <U as RamaTryFrom<T>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T> ToSmolStr for T
impl<T> ToSmolStr for T
fn to_smolstr(&self) -> SmolStr
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.