parking_lot
dependency to accept the latest parking_lot
version (#774)Thanks to @rkuhn, @greenwoodcm, and @Ralith for contributing to this release!
Span::record
would result in malformed spans (#709)ChronoUtc
format_time
(#677)This release includes several API ergonomics improvements, including shorthand constructors for many types, and an extension trait for initializing subscribers using method-chaining style. Additionally, several bugs in less commonly used fmt
APIs were fixed.
fmt
(including tracing_subscriber::fmt()
to return a SubscriberBuilder
, tracing_subscriber::fmt::layer()
to return a format Layer
, etc) (#660)tracing_subscriber::registry()
to construct a new registry (#660)SubscriberInitExt
extension trait for more ergonomic subscriber initialization (#660)LayerBuilder
methods to Layer
(#655)LayerBuilder
, as Layer
now implements all builder methods (#655)Compact
formatter not omitting levels with with_level(false)
(#657)fmt::Layer
duplicating the fields for a new span if another layer has already formatted its fields (#634)record
to add new fields to a span that already has fields (#659)flatten_event
to SubscriberBuilder
(#599)with_level
to SubscriberBuilder
(#594)EnvFilter
directive selection now behaves correctly (i.e. like env_logger
) (#583)EnvFilter
incorrectly allowing less-specific filter directives to enable events that are disabled by more-specific filters (#583)EnvFilter
performance improvements, especially when filtering events generated by log
records (#578, #583)BTreeMap
with Vec
in DirectiveSet
, improving iteration performance significantly with typical numbers of filter directives (#580)A big thank-you to @samschlegel for lots of help with EnvFilter
performance tuning in this release!
Context
to FmtContext
(#420, #425)Builder
to SubscriberBuilder
(#420)Filter
. Use EnvFilter
instead (#434)Registry
, a Subscriber
implementation that Layer
s can use as a high-performance, in-memory span store. (#420, #425, #432, #433, #435)LookupSpan
trait, implemented by Subscriber
s to expose stored span data to Layer
s (#420)fmt::Layer
, to allow composing log formatting with other Layer
sContext
to FmtContext
(#420, #425) (BREAKING)Builder
to SubscriberBuilder
(#420) (BREAKING)fmt::Subscriber
in terms of the Registry
and Layer
s (#420)Filter
. Use EnvFilter
instead (#434) (BREAKING)fmt::SubscriberBuilder::init
not setting up log
compatibility (#489)Layered
subscribers failing to downcast to their own type (#549)Layer::downcast_ref
returning invalid references (#454){}
printed after spans with no fields (f079f2d)smallvec
dependency to 0.1 (#543)Layered
subscribers failing to downcast to their own type (#549)FormattedFields
extensions from the same formatter type (1c3bb70)fmt::Layer::on_record
inserting a new FormattedFields
when formatted fields for a span already exist (1c3bb70)dbg!
macros (#533)FormattedFields::new
constructor (#478)fmt::Layer
documentation (#510)with_target(false)
(#481)fmt::SubscriberBuilder::init
not setting up log
compatibility (#489)no-default-features
(#499, #500)LookupSpans
implementation for Layered
(#448)SpanRef::from_root
to iterate over a span's parents from the root (#460)Context::scope
, to iterate over the current context from the root (#460)Context::lookup_current
, which returns a SpanRef
to the current span's data (#460)Context
methods to be less restrictive (#460)Layer::downcast_ref
returning invalid references (#454)Registry
, a reusable span store that Layer
s can use a high-performance, in-memory store. (#420, #425, #432, #433, #435)fmt::Subscriber
in terms of the Registry
and Layer
s (#420)fmt::format::FormatFields
and fmt::format::FormatEvent
to accept a mandatory FmtContext
. These FormatFields
and FormatEvent
will likely see additional breaking changes in subsequent alpha. (#420, #425)Filter
. Use EnvFilter
instead (#434)Thanks to all the contributers to this release!
init
and try_init
functions to FmtSubscriber
(#385)ChronoUtc
and ChronoLocal
timers, RFC 3339 support (#387)tracing::subscriber::set_default
which sets the default subscriber and returns a drop guard. This drop guard will reset the dispatch on drop (#388).EnvFilter
. Setting RUST_LOG=target
previously only the ERROR
level, while it should enable everything. tracing-subscriber
now defaults to TRACE
if no level is specified (#401)tracing-log
feature flag for init + try_init. The feature flag tracing_log
was used instead of the correct tracing-log
. As a result, both tracing-log
and tracing_log
needed to be specified in order to initialize the global logger. Only tracing-log
needs to be specified now (#400).Thanks to all the contributers to this release!
FmtSubscriber::current_span
is used (#371)with_ansi(false)
on FmtSubscriber
not disabling ANSI color formatting for timestamps (#354)FmtSubscriber
that could cause spans to not be closed when all references are dropped (#366)Layered
subscribers not properly forwarding calls to current_span
(#350)EnvFilter
ignoring directives with targets that are the same number of characters (#333)EnvFilter
failing to properly apply filter directives to events generated from log
records bytracing-log
(#344)Filter
to EnvFilter
, deprecated Filter
(#339)FmtSubscriber
now defaults to enabling only the INFO
level and above when a max level filter or EnvFilter
is not set (#336)parking_lot
dependency an opt-in feature flag (#348)EnvFilter::add_directive
to add new directives to filters after they are constructed (#334)fmt::Builder::with_max_level
to set a global level filter for a FmtSubscriber
without requiring the use of EnvFilter
(#336)Layer
implementation for LevelFilter
(#336)EnvFilter
now implements fmt::Display
(#329)crossbeam-util
(#348)CurrentSpan
(#325)