Crate color_spantrace
source ·Expand description
A rust library for colorizing tracing_error::SpanTrace
objects in the style
of color-backtrace
.
Setup
Add the following to your Cargo.toml
:
[dependencies]
color-spantrace = "0.2"
tracing = "0.1"
tracing-error = "0.2"
tracing-subscriber = "0.3"
Setup a tracing subscriber with an ErrorLayer
:
use tracing_error::ErrorLayer;
use tracing_subscriber::{prelude::*, registry::Registry};
Registry::default().with(ErrorLayer::default()).init();
Create spans and enter them:
use tracing::instrument;
use tracing_error::SpanTrace;
#[instrument]
fn foo() -> SpanTrace {
SpanTrace::capture()
}
And finally colorize the SpanTrace
:
use tracing_error::SpanTrace;
let span_trace = SpanTrace::capture();
println!("{}", color_spantrace::colorize(&span_trace));
Output Format
Running examples/color-spantrace-usage.rs
from the color-spantrace
repo produces the following output:
❯ cargo run --example color-spantrace-usage Finished dev [unoptimized + debuginfo] target(s) in 0.04s Running `target/debug/examples/color-spantrace-usage` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ SPANTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0: color-spantrace-usage::two at examples/color-spantrace-usage.rs:18 1: color-spantrace-usage::one with i=42 at examples/color-spantrace-usage.rs:13
Structs
- An error returned by
set_theme
if a global theme was already set - A struct that represents theme that is used by
color_spantrace
Functions
- Display a
SpanTrace
with colors and source - Sets the global theme.