[][src]Crate tracing_subscriber

Utilities for implementing and composing tracing subscribers.

tracing is a framework for instrumenting Rust programs to collect scoped, structured, and async-aware diagnostics. The Subscriber trait represents the functionality necessary to collect this trace data. This crate contains tools for composing subscribers out of smaller units of behaviour, and batteries-included implementations of common subscriber functionality.

tracing-subscriber is intended for use by both Subscriber authors and application authors using tracing to instrument their applications.

Included Subscribers

The following Subscribers are provided for application authors:

  • fmt - Formats and logs tracing data (requires the fmt feature flag)

Feature Flags

  • env-filter: Enables the EnvFilter type, which implements filtering similar to the env_logger crate. Enabled by default.
  • fmt: Enables the fmt module, which provides a subscriber implementation for printing formatted representations of trace events. Enabled by default.
  • ansi: Enables fmt support for ANSI terminal colors. Enabled by default.
  • registry: enables the experimental registry module.
  • json: Enables fmt support for JSON output. In JSON output, the ANSI feature does nothing.

Optional Dependencies

  • tracing-log: Enables better formatting for events emitted by log macros in the fmt subscriber. On by default.
  • chrono: Enables human-readable time formatting in the fmt subscriber. Enabled by default.
  • smallvec: Causes the EnvFilter type to use the smallvec crate (rather than Vec) as a performance optimization. Enabled by default.
  • parking_lot: Use the parking_lot crate's RwLock implementation rather than the Rust standard library's implementation.

Re-exports

pub use layer::Layer;
pub use fmt::Subscriber as FmtSubscriber;
pub use fmt::fmt;

Modules

field

Utilities for working with fields and field visitors.

filter

Layers that control which spans and events are enabled by the wrapped subscriber.

fmtfeature="fmt"

A Subscriber for formatting and logging tracing data.

layer

A composable abstraction for building Subscribers.

prelude

The tracing-subscriber prelude.

registry

Storage for span data shared by multiple Layers.

reload

Wrapper for a Layer to allow it to be dynamically reloaded.

util

Extension traits and other utilities to make working with subscribers more ergonomic.

Structs

CurrentSpan

Tracks the currently executing span on a per-thread basis.

EnvFilterfeature="env-filter"

A Layer which filters spans and events based on a set of filter directives.

Registryfeature="registry"

A shared, reusable store for spans.

Functions

registryfeature="registry"