This release adds several new features, including a Filter
implementation and
new builder API for EnvFilter
, support for using a Vec<L> where L: Layer
as
a Layer
, and a number of smaller API improvements to make working with dynamic
and reloadable layers easier.
Added
- registry: Implement
Filter
forEnvFilter
, allowing it to be used with
per-layer filtering (#1983) - registry:
Filter::on_new_span
,Filter::on_enter
,
Filter::on_exit
,Filter::on_close
andFilter::on_record
callbacks to
allowFilter
s to track span states internally (#1973, #2017, #2031) - registry:
Filtered::filter
andFiltered::filter_mut
accessors
(#1959) - registry:
Filtered::inner
andFiltered::inner_mut
accessors to borrow
the wrappedLayer
(#2034) - layer: Implement
Layer
forVec<L: Layer>
, to allow composing together
a dynamically sized list ofLayer
s (#2027) - layer:
Layer::boxed
method to make type-erasingLayer
s easier
(#2026) - fmt:
fmt::Layer::writer
andfmt::Layer::writer_mut
accessors (#2034) - fmt:
fmt::Layer::set_ansi
method to allow changing the ANSI formatting
configuration at runtime (#2034) - env-filter:
EnvFilter::builder
to configure a newEnvFilter
prior to
parsing it (#2035) - Several documentation fixes and improvements (#1972, #1971, #2023,
#2023)
Fixed
- fmt:
fmt::Layer
's auto traits no longer depend on theSubscriber
type
parameter's auto traits (#2025) - env-filter: Fixed missing help text when the
ansi
feature is disabled
(#2029)
Thanks to new contributors @TimoFreiberg and @wagenet, as well as @CAD97 for
contributing to this release!