Net*_*ave 8 trace rust rust-tracing
我需要动态地使用不同名称来检测跨度。如何创建具有动态命名的跟踪范围?
use tracing; // 0.1.22
fn main() {
let name: &'static str = "foo bar";
let span = tracing::span!(tracing::Level::TRACE, name);
let span_handle = span.enter();
tracing::info!("Hello, world!");
drop(span_handle);
}
Run Code Online (Sandbox Code Playgroud)
error[E0435]: attempt to use a non-constant value in a constant
--> src/main.rs:5:54
|
5 | let span = tracing::span!(tracing::Level::TRACE, name);
| ^^^^ non-constant value
Run Code Online (Sandbox Code Playgroud)
不要尝试动态设置跨度的名称,而是添加一个字段:
let value = "forty-two";
let span = tracing::span!(tracing::Level::TRACE, "foo bar", value = value);
Run Code Online (Sandbox Code Playgroud)
来自文档:
Span 由fields、用户定义的任意数据的键值对组成,这些数据描述了 Span 所代表的上下文
| 归档时间: |
|
| 查看次数: |
2193 次 |
| 最近记录: |