* chore: ignore all target dirs The gitignore for this repository currently includes the pattern `/*/target`, which will ignore all directories named `target` that are nested up to one directory deep from the root. This ignores the target dir for the workspace, and any generated by builds on individual workspace crates. However, the `tracing` crate contains test crates which cannot be part of the workspace, due to setting feature flags. These crates are inside the `tracing` crate's subdirectory, so the `target` dirs generated by running these tests are nested _two_ levels deep. Git doesn't know to ignore the generated files from the test dirs, which is kind of annoying. This branch changes the ignore pattern to `/**/target`, which should ignore _all_ subdirectories named `target`. This does have the potential downside that if any crate adds a module called `target`, we'd have to update the gitignore, but I'm not _too_ concerned currently. Signed-off-by: Eliza Weisman <eliza@buoyant.io>
tracing
Application-level tracing for Rust.
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 Gitter 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-fmt: A subscriber for formatting and logging trace events. -
tracing-futures: Utilities for instrumentingfutures(unstable). -
tracing-macros: Experimental macros for emitting trace events (unstable). -
tracing-proc-macros: Procedural macro attributes for automatically instrumenting functions (unstable). -
tracing-log: Compatibility with thelogcrate (unstable). -
tracing-env-logger: A subscriber that logs trace events using theenv_loggercrate (unstable). -
tracing-serde: A compatibility layer for serializing trace data withserde(unstable). -
tracing-subscriber: Utilities for subscriber implementations (unstable). -
tracing-tower: Compatibility with thetowerecosystem (unstable). -
tracing-tower-http:towercompatibility for HTTP services (unstable).
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.