
* log: deprecate `TraceLogger` This deprecation was discussed in https://github.com/tokio-rs/tracing/issues/369#issuecomment-541853727. This API should not be used, as the `tracing` crate's `log` and `log-always` features provide better implementations of the same functionality, and the implementation here contains some deadlocks that make it unusable in real-world use-cases. Closes #369 Signed-off-by: Eliza Weisman <eliza@buoyant.io> * log: minor readme tweaks - Improve list of provded APIs - Remove Gitter Signed-off-by: Eliza Weisman <eliza@buoyant.io> * log: prepare to release 0.1.1 ### Deprecated - `TraceLogger` (use `tracing`'s "log" and "log-always" feature flags instead) ### Fixed - Issues with `log/std` feature flag (#406) - Minor documentation issues (#405, #408) * fix deprecation warning on reexport * rustfmt Signed-off-by: Eliza Weisman <eliza@buoyant.io>
tracing
Application-level tracing for Rust.
Website | Chat | Documentation (master branch)
Overview
tracing
is a framework for instrumenting Rust programs to collect
structured, event-based diagnostic information. tracing
is maintained by the
Tokio project, but does not require the tokio
runtime to be used.
Getting Help
First, see if the answer to your question can be found in the API documentation. If the answer is not there, there is an active community in the Tracing Discord channel. We would be happy to try to answer your question. Last, if that doesn't work, try opening an issue with the question.
Contributing
🎈 Thanks for your help improving the project! We are so happy to have you! We have a contributing guide to help you get involved in the Tracing project.
Project layout
The tracing
crate contains the primary instrumentation API, used for
instrumenting libraries and applications to emit trace data. The tracing-core
crate contains the core API primitives on which the rest of tracing
is
instrumented. Authors of trace subscribers may depend on tracing-core
, which
guarantees a higher level of stability.
Additionally, this repository contains several compatibility and utility
libraries built on top of tracing
. Some of these crates are in a pre-release
state, and are less stable than the tracing
and tracing-core
crates.
The crates included as part of Tracing are:
-
tracing-futures
: Utilities for instrumentingfutures
. (crates.io|docs) -
tracing-macros
: Experimental macros for emitting trace events (unstable). -
tracing-attributes
: Procedural macro attributes for automatically instrumenting functions. (crates.io|docs) -
tracing-log
: Compatibility with thelog
crate (unstable). -
tracing-serde
: A compatibility layer for serializing trace data withserde
(unstable). -
tracing-subscriber
: Subscriber implementations, and utilities for implementing and composingSubscriber
s. (crates.io|docs) -
tracing-tower
: Compatibility with thetower
ecosystem (unstable).
External Resources
This is a list of links to blog posts, conference talks, and tutorials about Tracing.
Blog Posts
- Diagnostics with Tracing on the Tokio blog, August 2019
Talks
- Bay Area Rust Meetup talk and Q&A, March 2018
- RustConf 2019 talk and slides, August 2019
Help us expand this list! If you've written or spoken about Tracing, or know of resources that aren't listed, please open a pull request adding them.
License
This project is licensed under the MIT license.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Tracing by you, shall be licensed as MIT, without any additional terms or conditions.