16 个版本

0.6.1 2023 年 10 月 22 日
0.6.0 2023 年 7 月 30 日
0.5.1 2021 年 4 月 25 日
0.5.0 2020 年 11 月 21 日
0.2.2 2019 年 6 月 29 日

#18值格式化

Download history 8106/week @ 2024-04-28 8041/week @ 2024-05-05 10616/week @ 2024-05-12 8634/week @ 2024-05-19 9867/week @ 2024-05-26 8100/week @ 2024-06-02 6343/week @ 2024-06-09 7065/week @ 2024-06-16 6138/week @ 2024-06-23 7275/week @ 2024-06-30 9787/week @ 2024-07-07 8766/week @ 2024-07-14 8529/week @ 2024-07-21 10041/week @ 2024-07-28 9384/week @ 2024-08-04 8606/week @ 2024-08-11

37,319 每月下载量
用于 99 个 crate(70 个直接使用)

MIT/Apache

34KB
569

color-backtrace

Crates.io docs.rs MIT licensed Apache 2.0 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.6" }

要启用它,只需在您的应用程序初始化代码中放置此代码即可

color_backtrace::install();

如果您想自定义一些设置,可以这样做

use color_backtrace::{default_output_stream, BacktracePrinter};
BacktracePrinter::new().message("Custom message!").install(default_output_stream());

功能

  • 对回溯进行着色,使其更容易阅读
  • 如果磁盘上找到源文件,则显示源代码片段
  • 以不同颜色打印应用程序代码与依赖项的帧
  • 在恐慌已经开始后隐藏所有帧
  • 隐藏语言运行时初始化帧

在测试中的使用

遗憾的是,目前 Rust 中不支持在测试开始之前定义自定义初始化函数。即使将其包装在函数中,在每次测试中初始化 color-backtrace 也很麻烦,因此我建议使用 ctor crate。

在某个地方,最好是您的 crate 的主模块中,放置以下代码

#[cfg(test)]
mod tests {
    use ctor::ctor;

    #[ctor]
    fn init_color_backtrace() {
        color_backtrace::install();
    }
}

您也可以在 #[cfg(test)] 部分,在这种情况下,恐慌处理程序将为测试和常规运行安装。

截图

Screenshot

依赖项

~2–11MB
~119K SLoC