🛈 Note: This is pre-release documentation for the upcoming tracing 0.2.0 ecosystem.

For the release documentation, please see docs.rs, instead.

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 Levels and LevelFilters interact.

Implementations§

§

impl LevelFilter

pub const OFF: LevelFilter

The “off” level.

Designates that trace instrumentation should be completely disabled.

pub const ERROR: LevelFilter

The “error” level.

Designates very serious errors.

pub const WARN: LevelFilter

The “warn” level.

Designates hazardous situations.

pub const INFO: LevelFilter

The “info” level.

Designates useful information.

pub const DEBUG: LevelFilter

The “debug” level.

Designates lower priority information.

pub const TRACE: LevelFilter

The “trace” level.

Designates very low priority, often extremely verbose, information.

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>

Returns the most verbose Level that this filter accepts, or None if it is OFF.

pub fn current() -> LevelFilter

Returns a LevelFilter that matches the most verbose Level that any currently active collector 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 collector 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§

Source§

impl AsLog for LevelFilter

Source§

type Log = LevelFilter

The log type that this type can be converted into.
Source§

fn as_log(&self) -> <LevelFilter as AsLog>::Log

Returns the log equivalent of self.
§

impl Clone for LevelFilter

§

fn clone(&self) -> LevelFilter

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for LevelFilter

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Display for LevelFilter

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<C> Filter<C> for LevelFilter

Available on crate features registry and std only.
Source§

fn enabled(&self, meta: &Metadata<'_>, _: &Context<'_, C>) -> bool

Returns true if this subscriber is interested in a span or event with the given Metadata in the current Context, similarly to Collect::enabled. Read more
Source§

fn callsite_enabled(&self, meta: &'static Metadata<'static>) -> Interest

Returns an Interest indicating whether this subscriber will always, sometimes, or never be interested in the given Metadata. Read more
Source§

fn max_level_hint(&self) -> Option<LevelFilter>

Returns an optional hint of the highest verbosity level that this Filter will enable. Read more
Source§

fn event_enabled(&self, event: &Event<'_>, cx: &Context<'_, S>) -> bool

Called before the filtered subscribers’ on_event, to determine if on_event should be called. Read more
Source§

fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, S>)

Notifies this filter that a new span was constructed with the given Attributes and Id. Read more
Source§

fn on_record(&self, id: &Id, values: &Record<'_>, ctx: Context<'_, S>)

Notifies this filter that a span with the given Id recorded the given values. Read more
Source§

fn on_enter(&self, id: &Id, ctx: Context<'_, S>)

Notifies this filter that a span with the given ID was entered. Read more
Source§

fn on_exit(&self, id: &Id, ctx: Context<'_, S>)

Notifies this filter that a span with the given ID was exited. Read more
Source§

fn on_close(&self, id: Id, ctx: Context<'_, S>)

Notifies this filter that a span with the given ID has been closed. Read more
§

impl From<Level> for LevelFilter

§

fn from(level: Level) -> LevelFilter

Converts to this type from the input type.
Source§

impl From<LevelFilter> for Directive

Available on crate features env-filter and std only.
Source§

fn from(level: LevelFilter) -> Self

Converts to this type from the input type.
§

impl From<Option<Level>> for LevelFilter

§

fn from(level: Option<Level>) -> LevelFilter

Converts to this type from the input type.
§

impl FromStr for LevelFilter

§

type Err = ParseLevelFilterError

The associated error which can be returned from parsing.
§

fn from_str(from: &str) -> Result<LevelFilter, <LevelFilter as FromStr>::Err>

Parses a string s to return a value of this type. Read more
§

impl Hash for LevelFilter

§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
§

impl Ord for LevelFilter

§

fn cmp(&self, other: &LevelFilter) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
§

impl PartialEq<Level> for LevelFilter

§

fn eq(&self, other: &Level) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialEq for LevelFilter

§

fn eq(&self, other: &LevelFilter) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PartialOrd<Level> for LevelFilter

§

fn partial_cmp(&self, other: &Level) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
§

fn lt(&self, other: &Level) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
§

fn le(&self, other: &Level) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
§

fn gt(&self, other: &Level) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
§

fn ge(&self, other: &Level) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
§

impl PartialOrd for LevelFilter

§

fn partial_cmp(&self, other: &LevelFilter) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
§

fn lt(&self, other: &LevelFilter) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
§

fn le(&self, other: &LevelFilter) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
§

fn gt(&self, other: &LevelFilter) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
§

fn ge(&self, other: &LevelFilter) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<C: Collect> Subscribe<C> for LevelFilter

Source§

fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

Registers a new callsite with this subscriber, returning whether or not the subscriber is interested in being notified about the callsite, similarly to Collect::register_callsite. Read more
Source§

fn enabled(&self, metadata: &Metadata<'_>, _: Context<'_, C>) -> bool

Returns true if this subscriber is interested in a span or event with the given metadata in the current Context, similarly to [Collect::enabled]. Read more
Source§

fn on_register_dispatch(&self, collector: &Dispatch)

Performs late initialization when installing this subscriber as a collector. Read more
Source§

fn on_subscribe(&mut self, collector: &mut C)

Performs late initialization when attaching a subscriber to a collector. Read more
Source§

fn on_new_span(&self, attrs: &Attributes<'_>, id: &Id, ctx: Context<'_, C>)

Notifies this subscriber that a new span was constructed with the given Attributes and Id.
Source§

fn on_record(&self, _span: &Id, _values: &Record<'_>, _ctx: Context<'_, C>)

Notifies this subscriber that a span with the given Id recorded the given values.
Source§

fn on_follows_from(&self, _span: &Id, _follows: &Id, _ctx: Context<'_, C>)

Notifies this subscriber that a span with the ID span recorded that it follows from the span with the ID follows.
Source§

fn event_enabled(&self, _event: &Event<'_>, _ctx: Context<'_, C>) -> bool

Called before on_event, to determine if on_event should be called. Read more
Source§

fn on_event(&self, _event: &Event<'_>, _ctx: Context<'_, C>)

Notifies this subscriber that an event has occurred.
Source§

fn on_enter(&self, _id: &Id, _ctx: Context<'_, C>)

Notifies this subscriber that a span with the given ID was entered.
Source§

fn on_exit(&self, _id: &Id, _ctx: Context<'_, C>)

Notifies this subscriber that the span with the given ID was exited.
Source§

fn on_close(&self, _id: Id, _ctx: Context<'_, C>)

Notifies this subscriber that the span with the given ID has been closed.
Source§

fn on_id_change(&self, _old: &Id, _new: &Id, _ctx: Context<'_, C>)

Notifies this subscriber that a span ID has been cloned, and that the subscriber returned a different ID.
Source§

fn and_then<S>(self, subscriber: S) -> Layered<S, Self, C>
where S: Subscribe<C>, Self: Sized,

Composes this subscriber around the given collector, returning a Layered struct implementing Subscribe. Read more
Source§

fn with_collector(self, inner: C) -> Layered<Self, C>
where Self: Sized,

Composes this subscriber with the given collector, returning a Layered struct that implements Collect. Read more
Source§

fn with_filter<F>(self, filter: F) -> Filtered<Self, F, C>
where Self: Sized, F: Filter<C>,

Available on crate features registry and std only.
Combines self with a Filter, returning a Filtered subscriber. Read more
Source§

fn boxed(self) -> Box<dyn Subscribe<C> + Send + Sync + 'static>
where Self: Sized + Subscribe<C> + Send + Sync + 'static, C: Collect,

Available on crate features alloc or std only.
Erases the type of this subscriber, returning a Boxed dyn Subscribe trait object. Read more
§

impl Copy for LevelFilter

§

impl Eq for LevelFilter

§

impl StructuralPartialEq for LevelFilter

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dest. Read more
Source§

impl<F, S> FilterExt<S> for F
where F: Filter<S>,

Source§

fn and<B>(self, other: B) -> And<Self, B, S>
where Self: Sized, B: Filter<S>,

Available on crate features registry and std only.
Combines this Filter with another Filter s so that spans and events are enabled if and only if both filters return true. Read more
Source§

fn or<B>(self, other: B) -> Or<Self, B, S>
where Self: Sized, B: Filter<S>,

Available on crate features registry and std only.
Combines two Filters so that spans and events are enabled if either filter returns true. Read more
Source§

fn not(self) -> Not<Self, S>
where Self: Sized,

Available on crate features registry and std only.
Inverts self, returning a filter that enables spans and events only if self would not enable them. Read more
Source§

fn boxed(self) -> Box<dyn Filter<S> + Send + Sync + 'static>
where Self: Sized + Send + Sync + 'static,

Available on crate features registry and std only.
Boxes self, erasing its concrete type. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithCollector for T

Source§

fn with_collector<C>(self, collector: C) -> WithDispatch<Self>
where C: Into<Dispatch>,

Attaches the provided collector to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_collector(self) -> WithDispatch<Self>

Attaches the current default collector to this type, returning a WithDispatch wrapper. Read more