1个稳定版本
1.0.0 | 2024年6月19日 |
---|
#329 在 调试 中
每月 77 次下载
8KB
146 代码行
solink-tracing-flat-json
这是一个开源库,可以与 tracing 一起使用,以记录扁平化JSON
use solink_tracing_flat_json::SolinkJsonFormat;
let log_to_file = tracing_subscriber::fmt::layer()
.event_format(
SolinkJsonFormat::new()
)
.fmt_fields(JsonFields::default());
tracing_subscriber::registry().with(log_to_file).init();
这将序列化时间戳、事件中的所有变量、当前span的名称以及当前和所有父span中的所有变量。
例如
#[tokio::main(flavor = "current_thread")]
async fn main() {
a(42).await;
}
#[instrument]
async fn a(x: u64) {
b(x).await;
}
#[instrument]
async fn b(y: u64) {
info!(z = 94, "Hello from b")
}
将产生类似以下输出
{"timestamp":"2024-06-18T21:17:44.902137000Z","level":"INFO","message":"Hello from b","z":94,"span":"b","y":42,"x":42}
依赖项
~4–5.5MB
~96K SLoC