color-backtrace 0.2.2

Colorful panic backtraces
Documentation

color-backtrace

Crates.io docs.rs MIT licensed

A Rust library that makes panics a little less painful by nicely colorizing them and printing the relevant source snippets.

[dependencies]
color-backtrace = { version = "0.2" }

To enable it, simply place this code somewhere in your app initialization code:

color_backtrace::install();

If you want to customize some settings, you can instead do:

use color_backtrace::{install_with_settings, Settings};
install_with_settings(Settings::new().message("Custom message!"));

Features

  • Colorize backtraces to be easier on the eyes
  • Show source snippets if source files are found on disk
  • Print frames of application code vs dependencies in different color
  • Hide all the frames after the panic was already initiated
  • Hide language runtime initialization frames

Optional Features

  • failure-bt — Experimental support for printing failure::Backtrace backtraces.

Experimental Failure backtrace integration

failure backtraces are opaque and so this feature uses unsafe code to transmute the struct into a non private struct to allow access to the internal backtrace::Backtrace object.

The code is dependent on and only tested against failure version 0.1.5 and is considered a temporary hack while we work on getting backtraces from errors exposed properly. This feature is marked as unsafe, it relies on UB to work, and there is no guarantee that rust will pick this layout on a different crate type. User discretion is advised.

To enable, include the following in your Cargo.toml

[dependencies]
color-backtrace = { version = "0.2", features = ["failure-bt"] }

Screenshot

Screenshot