Releases: tokio-rs/tracing
tracing-core 0.1.31
This release of tracing-core
fixes a bug that caused threads which call
dispatcher::get_default
before a global default subscriber is set to never
see the global default once it is set. In addition, it includes improvements for
instrumentation performance in some cases, especially when using a global
default dispatcher.
Fixed
- Fixed incorrect thread-local caching of
Dispatch::none
if
dispatcher::get_default
is called beforedispatcher::set_global_default
(#2593)
Changed
- Cloning a
Dispatch
that points at a global default subscriber no longer
requires anArc
reference count increment, improving performance
substantially (#2593) dispatcher::get_default
no longer attempts to access a thread local if the
scoped dispatcher is not in use, improving performance when the default
dispatcher is global (#2593)- Added
#[inline]
annotations called by theevent!
andspan!
macros to
reduce the size of macro-generated code and improve recording performance
(#2555)
Thanks to new contributor @ldm0 for contributing to this release!
tracing 0.1.38
This tracing
release changes the Drop
implementation for Instrumented
Future
s so that the attached Span
is entered when dropping the Future
. This
means that events emitted by the Future
's Drop
implementation will now be
recorded within its Span
. It also adds #[inline]
hints to methods called in
the event!
macro's expansion, for an improvement in both binary size and
performance.
Additionally, this release updates the tracing-attributes
dependency to
v0.1.24, which updates the syn
dependency to v2.x.x.
tracing-attributes
v0.1.24 also includes improvements to the #[instrument]
macro; see the tracing-attributes
0.1.24 release notes for
details.
Added
Instrumented
futures will now enter the attachedSpan
in theirDrop
implementation, allowing events emitted when dropping the future to occur
within the span (#2562)#[inline]
attributes for methods called by theevent!
macros, making
generated code smaller (#2555)- attributes:
level
argument to#[instrument(err)]
and
#[instrument(ret)]
to override the level of
the generated return value event (#2335) - attributes: Improved compiler error message when
#[instrument]
is added to aconst fn
(#2418)
Changed
tracing-attributes
: updated to 0.1.24- Removed unneeded
cfg-if
dependency (#2553) - attributes: Updated
syn
dependency to 2.0 (#2516)
Fixed
- attributes: Fix
clippy::unreachable
warnings in#[instrument]
-generated code (#2356) - attributes: Removed unused "visit" feature flag from
syn
dependency (#2530)
Documented
- attributes: Documented default level for
#[instrument(err)]
(#2433) - attributes: Improved documentation for levels in
#[instrument]
(#2350)
Thanks to @nitnelave, @jsgf, @Abhicodes-crypto, @LukeMathWalker, @andrewpollack,
@quad, @klensy, @davidpdrsn, @dbidwell94, @ldm0, @NobodyXu, @ilsv, and @daxpedda
for contributing to this release!
tracing-attributes 0.1.24
This release of tracing-attributes
adds support for passing an optional
level
to the err
and ret
arguments to #[instrument]
, allowing the level
of the generated return-value event to be overridden. For example,
#[instrument(err(level = "info"))]
fn my_great_function() -> Result<(), &'static str> {
// ...
}
will emit an INFO
-level event if the function returns an Err
.
In addition, this release updates the syn
dependency to v2.x.x.
Added
level
argument toerr
andret
to override the level of the generated
return value event (#2335)- Improved compiler error message when
#[instrument]
is added to aconst fn
(#2418)
Changed
- Updated
syn
dependency to 2.0 (#2516)
Fixed
- Fix
clippy::unreachable
warnings in#[instrument]
-generated code (#2356) - Removed unused "visit" feature flag from
syn
dependency (#2530)
Documented
Thanks to @nitnelave, @jsgf, @Abhicodes-crypto, @LukeMathWalker, @andrewpollack,
@quad, @klensy, @davidpdrsn, and @dbidwell94 for contributign to this release!
tracing-subscriber 0.3.17
This release of tracing-subscriber
fixes a build error when using env-filter
with recent versions of the regex
crate. It also introduces several minor API
improvements.
Fixed
- env-filter: Add "unicode-case" and "unicode-perl" to the
regex
dependency, fixing a build error with recent versions ofregex
(#2566) - A number of minor documentation typos and other fixes (#2384, #2378,
#2368, #2548)
Added
- filter: Add
fmt::Display
impl forfilter::Targets
(#2343) - fmt: Made
with_ansi(false)
no longer require the "ansi" feature, so that
ANSI formatting escapes can be disabled without requiring ANSI-specific
dependencies (#2532)
Changed
- fmt: Dim targets in the
Compact
formatter, matching the default
formatter (#2409)
Thanks to @keepsimple1, @andrewhalle, @LeoniePhiline, @LukeMathWalker,
@howardjohn, @daxpedda, and @dbidwell94 for contributing to this release!
tracing-subscriber 0.3.16
This release of tracing-subscriber
fixes a regression introduced in
v0.3.15 where Option::None
's Layer
implementation would
set the max level hint to OFF
. In addition, it adds several new APIs,
including the Filter::event_enabled
method for filtering events based on
fields values, and the ability to log internal errors that occur when writing a
log line.
This release also replaces the dependency on the unmaintained [ansi-term
]
crate with the [nu-ansi-term
] crate, resolving an informational security
advisory (RUSTSEC-2021-0139) for [ansi-term
]'s maintainance status. This
increases the minimum supported Rust version (MSRV) to Rust 1.50+, although the
crate should still compile for the previous MSRV of Rust 1.49+ when the ansi
feature is not enabled.
Fixed
- layer:
Option::None
'sLayer
impl always setting themax_level_hint
toLevelFilter::OFF
(#2321) - Compilation with
-Z minimal versions
(#2246) - env-filter: Clarify that disabled level warnings are emitted by
tracing-subscriber
(#2285)
Added
- fmt: Log internal errors to
stderr
if writing a log line fails (#2102) - fmt:
FmtLayer::log_internal_errors
and
FmtSubscriber::log_internal_errors
methods for configuring whether internal
writer errors are printed tostderr
(#2102) - fmt:
#[must_use]
attributes on builders to warn if aSubscriber
is
configured but not set as the default subscriber (#2239) - filter:
Filter::event_enabled
method for filtering an event based on its
fields (#2245, #2251) - filter:
Targets::default_level
accessor ([#2242])
Changed
- ansi: Replaced dependency on unmaintained
ansi-term
crate with
nu-ansi-term
((#2287, fixes informational advisory RUSTSEC-2021-0139) tracing-core
: updated to 0.1.30- Minimum Supported Rust Version (MSRV) increased to Rust 1.50+ (when the
ansi
) feature flag is enabled (#2287)
Documented
- fmt: Correct inaccuracies in
fmt::init
documentation (#2224) - filter: Fix incorrect doc link in
filter::Not
combinator (#2249)
Thanks to new contributors @cgbur, @DesmondWillowbrook, @RalfJung, and
@poliorcetics, as well as returning contributors @CAD97, @connec, @jswrenn,
@guswynn, and @bryangarza, for contributing to this release!
tracing-core 0.1.30
This release of tracing-core
adds a new on_register_dispatch
method to the
Subscriber
trait to allow the Subscriber
to perform initialization after
being registered as a Dispatch
, and a WeakDispatch
type to allow a
Subscriber
to store its own Dispatch
without creating reference count
cycles.
Added
Subscriber::on_register_dispatch
method (#2269)WeakDispatch
type andDispatch::downgrade()
function (#2293)
Thanks to @jswrenn for contributing to this release!
tracing-attributes 0.1.23
This release of tracing-attributes
fixes a bug where compiler diagnostic spans
for type errors in #[instrument]
ed async fn
s have the location of the
#[instrument]
attribute rather than the location of the actual error, and a
bug where inner attributes in #[instrument]
ed functions would cause a compiler
error.
Fixed
- Fix incorrect handling of inner attributes in
#[instrument]
ed functions (#2307) - Add fake return to improve spans generated for type errors in
async fn
s (#2270) - Updated
syn
dependency to fix compilation with-Z minimal-versions
(#2246)
Thanks to new contributors @compiler-errors and @e-nomem, as well as @CAD97, for
contributing to this release!
tracing 0.1.37
This release of tracing
incorporates changes from tracing-core
v0.1.30 and tracing-attributes
v0.1.23,
including the new Subscriber::on_register_dispatch
method for performing late
initialization after a Subscriber
is registered as a Dispatch
, and bugfixes
for the #[instrument]
attribute. Additionally, it fixes instances of the
bare_trait_objects
lint, which is now a warning on tracing
's MSRV and will
become an error in the next edition.
Fixed
- attributes: Incorrect handling of inner attributes in
#[instrument]
ed
functions (#2307) - attributes: Incorrect location of compiler diagnostic spans generated for
type errors in#[instrument]
edasync fn
s (#2270) - attributes: Updated
syn
dependency to fix compilation with-Z minimal-versions
(#2246) bare_trait_objects
warning invalueset!
macro expansion (#2308)
Added
- core:
Subscriber::on_register_dispatch
method (#2269) - core:
WeakDispatch
type andDispatch::downgrade()
function (#2293)
Changed
Documented
- Added
tracing-web
andreqwest-tracing
to related crates (#2283,
#2331)
Thanks to new contributors @compiler-errors, @e-nomem, @WorldSEnder, @Xiami2012,
and @tl-rodrigo-gryzinski, as well as @jswrenn and @CAD97, for contributing to
this release!
tracing-opentelemetry 0.18.0
Breaking Changes
- Upgrade to
v0.18.0
ofopentelemetry
(#2303)
For list of breaking changes in OpenTelemetry, see the
v0.18.0 changelog.
Fixed
on_event
respects event's explicit parent (#2296)
Thanks to @wprzytula for contributing to this release!
tracing-core 0.1.29
This release of tracing-core
adds PartialEq
and Eq
implementations for
metadata types, and improves error messages when setting the global default
subscriber fails.
Added
PartialEq
andEq
implementations forMetadata
(#2229)PartialEq
andEq
implementations forFieldSet
(#2229)
Fixed
- Fixed unhelpful
fmt::Debug
output fordispatcher::SetGlobalDefaultError
(#2250) - Fixed compilation with
-Z minimal-versions
(#2246)
Thanks to @jswrenn and @CAD97 for contributing to this release!