This release introduces the Filter trait, a new API for per-layer
filtering. This allows controlling which spans and events are
recorded by various layers individually, rather than globally.
In addition, it adds a new Targets filter, which provides a
lighter-weight version of the filtering provided by EnvFilter, as
well as other smaller API improvements and fixes.
Deprecated
registry: SpanRef::parent_id, which cannot properly support
per-layer filtering. Use .parent().map(SpanRef::id) instead.
(#1523)
Fixed
layerContext methods that are provided when the Subscriber
implements LookupSpan no longer require the "registry" feature flag
(#1525)
layerfmt::Debug implementation for Layered no longer requires
the S type parameter to implement Debug (#1528)
Added
registry: Filter trait, Filtered type, Layer::with_filter
method, and other APIs for per-layer filtering (#1523)
filter: FilterFn and DynFilterFn types that implement global
(Layer) and per-layer (Filter) filtering for closures and function
pointers (#1523)
filter: Targets filter, which implements a lighter-weight form
of EnvFilter-like filtering (#1550)
env-filter: Added support for filtering on floating-point values
(#1507)
layer: Layer::on_layer callback, called when layering the
Layer onto a Subscriber (#1523)
layer: Layer implementations for Box<L> and Arc<L> where L: Layer (#1536)
layer: Layer implementations for Box<dyn Layer> and
Arc<dyn Layer> (#1536)
A number of small documentation fixes and improvements (#1553,
#1544, #1539, #1524)
Special thanks to new contributors @jsgf and @maxburke for contributing
to this release!
Commits
47f1cd2 subscriber: prepare to release v0.2.21 (#1555)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps tracing-subscriber from 0.2.20 to 0.2.21.
Release notes
Sourced from tracing-subscriber's releases.
Commits
47f1cd2
subscriber: prepare to release v0.2.21 (#1555)c4b0058
core: prepare to release 0.1.20 (#1554)cdb7115
subscriber: add more cross-references to documentation (#1553)78036a5
subscriber: addTargets
filter, a lighter-weightEnvFilter
(#1550)665170d
attributes: addskip_all
(#1548)0ab63ef
log: fixLogTracer
not honoring max level filters (#1543)a1d1282
subscriber: fix missingdoc(cfg(...))
attributes forEnvFilter
(#1544)c95321a
chore: simplify Netlify config (#1541)e4015f8
chore(ci): useworking-directory
instead of cd (#1540)4f5ef51
core: make NoSubscriber public and move it to tracing_core::subscriber (#1549)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)