[][src]Module tracing::level_filters

Trace verbosity level filtering.

Compile time filters

Trace verbosity levels can be statically disabled at compile time via Cargo features, similar to the log crate. Trace instrumentation at disabled levels will be skipped and will not even be present in the resulting binary unless the verbosity level is specified dynamically. This level is configured separately for release and debug builds. The features are:

  • max_level_off
  • max_level_error
  • max_level_warn
  • max_level_info
  • max_level_debug
  • max_level_trace
  • release_max_level_off
  • release_max_level_error
  • release_max_level_warn
  • release_max_level_info
  • release_max_level_debug
  • release_max_level_trace

These features control the value of the STATIC_MAX_LEVEL constant. The instrumentation macros macros check this value before recording an event or constructing a span. By default, no levels are disabled.

For example, a crate can disable trace level instrumentation in debug builds and trace, debug, and info level instrumentation in release builds with the following configuration:

tracing = { version = "0.1", features = ["max_level_debug", "release_max_level_warn"] }

Compiler support: requires rustc 1.39+



A filter comparable to a verbosity Level.


Indicates that a string could not be parsed to a valid level.



The statically configured maximum trace level.