git-prole 0.5.3

A git-worktree(1) manager
Documentation
use miette::IntoDiagnostic;
use tracing_subscriber::fmt::format::FmtSpan;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;
use tracing_subscriber::Layer;

pub fn install_tracing(filter_directives: &str) -> miette::Result<()> {
    let env_filter = tracing_subscriber::EnvFilter::try_new(filter_directives).into_diagnostic()?;

    let human_layer = tracing_human_layer::HumanLayer::new()
        .with_span_events(FmtSpan::NEW | FmtSpan::EXIT)
        .with_output_writer(std::io::stderr())
        .with_filter(env_filter);

    let registry = tracing_subscriber::registry();

    registry.with(human_layer).init();

    Ok(())
}