9 个版本
0.2.1 | 2023 年 11 月 17 日 |
---|---|
0.2.0 | 2022 年 1 月 13 日 |
0.1.6 | 2020 年 12 月 2 日 |
0.1.4 | 2020 年 7 月 6 日 |
0.1.1 | 2020 年 5 月 7 日 |
#159 in 命令行界面
382,492 个月下载量
用于 12 个 crate (2 直接)
190KB
236 代码行数(不含注释)
color-spantrace
A rust library for colorizing tracing_error::SpanTrace
objects in the style of color-backtrace
.
设置
将以下内容添加到您的 Cargo.toml
[dependencies]
color-spantrace = "0.2"
tracing = "0.1"
tracing-error = "0.2"
tracing-subscriber = "0.3"
使用 ErrorLayer
设置跟踪订阅者
use tracing_error::ErrorLayer;
use tracing_subscriber::{prelude::*, registry::Registry};
Registry::default().with(ErrorLayer::default()).init();
创建跨度并进入它们
use tracing::instrument;
use tracing_error::SpanTrace;
#[instrument]
fn foo() -> SpanTrace {
SpanTrace::capture()
}
最后,为 SpanTrace
着色
use tracing_error::SpanTrace;
let span_trace = SpanTrace::capture();
println!("{}", color_spantrace::colorize(&span_trace));
示例
此示例取自 examples/color-spantrace-usage.rs
use tracing::instrument;
use tracing_error::{ErrorLayer, SpanTrace};
use tracing_subscriber::{prelude::*, registry::Registry};
#[instrument]
fn main() {
Registry::default().with(ErrorLayer::default()).init();
let span_trace = one(42);
println!("{}", color_spantrace::colorize(&span_trace));
}
#[instrument]
fn one(i: u32) -> SpanTrace {
two()
}
#[instrument]
fn two() -> SpanTrace {
SpanTrace::capture()
}
这将产生以下输出
最小格式
完整格式
许可证
许可协议为 Apache License, Version 2.0 或 MIT license,任选其一。除非您明确说明,否则您提交给本仓库存档的任何有意贡献,根据 Apache-2.0 许可证定义,应双重许可如上,不附加任何额外条款或条件。
依赖项
~1.5MB
~26K SLoC