1 个不稳定版本
0.0.0 | 2022年2月27日 |
---|
在 #plugin-system 中排名第 41
9KB
tracing-attributes-hyper
此 crate 正在开发中,应在版本 > 0.0
之前使用
一个 proc-macro crate,为 Tracing 提供在 Hyper 中的占位符跨度。
许多项目更喜欢或需要应用程序生成特定的结构化日志数据。此外,定制的跟踪逻辑通常不能发布到注册表中。
Hyper 不对您的应用程序施加跟踪数据偏好。Hyper 不要求您的跟踪逻辑被发布。
相反,此 crate 作为占位符,您的应用程序将
- 在
[dependencies]
部分:重定向到已发布的 crate,或 - 在
[patch]
部分:重定向到已发布的 crate(例如 github 等)。
此模式重新利用 Cargo 的 [patch]
(以及 [dependencies]
)从 [覆盖依赖项],作为 Hyper 跟踪的编译时插件系统。
Hyper 使用 tracing-attributes-http
crate 的子集,因此这是一个功能默认值。
示例
已发布
如果 Hyper 跟踪插件已发布到 crates.io
[dependencies]
tracing-attributes-hyper = { version = "0.2", package = "tracing-attributes-http" }
未发布
将未发布的 Hyper 跟踪逻辑统一插入所有项目中(见以下说明),稳定 在 Rust 版本 >= 1.56
# ~/.cargo/config.toml
# Your Cargo configuration details
[patch.crates-io]
tracing-attributes-hyper = {
git = https://github.com/taqtiqa-mark/tracing-attributes-http,
features = ["otel"]
}
将特定于一个项目的未发布跟踪逻辑插入
# Cargo.toml
[package]
# Your Hyper based application details
[patch.crates-io]
tracing-attributes-hyper = {
git = https://github.com/taqtiqa-mark/tracing-attributes-http,
features = ["otel", "http-optional"]
}
注意:
如果给定的依赖项在 cargo 配置文件和 Cargo.toml 文件中都被修复,则使用配置文件中的修复。如果有多个配置文件修复了同一个依赖项,则使用标准的 cargo 配置合并,优先使用当前目录下定义的值,其中 $HOME/.cargo/config.toml 的优先级最低。
开发
为了发布 crate
cargo login <api-token>
cargo publish
cargo publish --dry-run
许可协议
许可协议为以下之一
-
Apache License, Version 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
-
MIT 许可协议 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您提交给作品以供包含的任何贡献(根据 Apache-2.0 许可协议定义),都应按照上述方式许可,不附加任何额外条款或条件。
依赖项
~1.5MB
~36K SLoC