7 个版本 (4 个重大变更)

0.5.0 2022年4月1日
0.4.1 2021年7月29日
0.4.0 2021年5月9日
0.3.0 2021年1月6日
0.1.0 2020年12月31日

#134 in 命令行界面

Download history 9469/week @ 2024-03-30 7220/week @ 2024-04-06 7530/week @ 2024-04-13 6642/week @ 2024-04-20 7364/week @ 2024-04-27 5809/week @ 2024-05-04 6293/week @ 2024-05-11 7202/week @ 2024-05-18 7857/week @ 2024-05-25 8801/week @ 2024-06-01 7028/week @ 2024-06-08 7652/week @ 2024-06-15 7796/week @ 2024-06-22 8077/week @ 2024-06-29 7176/week @ 2024-07-06 7430/week @ 2024-07-13

31,528 每月下载量
用于 22 个 crate (7 个直接使用)

MIT/Apache

27KB
628

bugreport

Continuous integration Crates.io Documentation

bugreport 是一个 Rust 库,帮助应用程序开发者自动收集用户可以在错误报告中发送的系统和环境信息(类似于 git bugreportffmpeg … -report)。

注意:此库处于早期阶段,API 可能会在将来更改。

示例

以下代码

use bugreport::{bugreport, collector::*, format::Markdown};

fn main() {
    bugreport!()
        .info(SoftwareVersion::default())
        .info(OperatingSystem::default())
        .info(CommandLine::default())
        .info(EnvironmentVariables::list(&["SHELL", "EDITOR"]))
        .info(CommandOutput::new("Python version", "python", &["-V"]))
        .info(CompileTimeInformation::default())
        .print::<Markdown>();
}

生成类似这样的错误报告信息

收集器

  • crate 信息(名称、版本、git 哈希)
  • 操作系统(类型、名称、版本)
  • 命令行(包括所有参数)
  • 环境变量(例如 SHELLPATH、…)
  • 文件内容(例如配置文件)
  • 目录内容
  • 命令输出(例如 bash --version
  • 编译时信息(配置文件、目标、架构、CPU 功能等)
  • 当前工作目录
  • 日期和时间
  • 用户自定义收集器

功能

  • Markdown 导出
  • 在编辑器中打开报告输出(而不是打印到 stdout,见 git bugreport
  • 询问用户是否允许收集信息?
  • 自动匿名化信息?(例如:从路径中删除 /home/username
  • JSON 导出(?)

用例/先例

相关 crate

可能有用的其他 crate

  • human-panic - 使崩溃消息对人类易于阅读。

依赖项

~150KB