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 命令行界面
31,528 每月下载量
用于 22 个 crate (7 个直接使用)
27KB
628 行
bugreport
bugreport
是一个 Rust 库,帮助应用程序开发者自动收集用户可以在错误报告中发送的系统和环境信息(类似于 git bugreport
或 ffmpeg … -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 哈希)
- 操作系统(类型、名称、版本)
- 命令行(包括所有参数)
- 环境变量(例如
SHELL
、PATH
、…) - 文件内容(例如配置文件)
- 目录内容
- 命令输出(例如
bash --version
) - 编译时信息(配置文件、目标、架构、CPU 功能等)
- 当前工作目录
- 日期和时间
- 用户自定义收集器
功能
- Markdown 导出
- 在编辑器中打开报告输出(而不是打印到 stdout,见
git bugreport
) - 询问用户是否允许收集信息?
- 自动匿名化信息?(例如:从路径中删除
/home/username
) - JSON 导出(?)
用例/先例
ffmpeg
的-report
选项- 有趣的是:“将环境变量 FFREPORT 设置为任何值都具有相同的效果。”
- 另请参阅: https://ffmpeg.org/bugreports.html
gitbugreport
- https://git.js.cn/docs/git-bugreport
- git version --build-options
grails bugreport
相关 crate
可能有用的其他 crate
human-panic
- 使崩溃消息对人类易于阅读。
依赖项
~150KB