1 unstable release
0.2.0 | Mar 16, 2022 |
---|
#69 in #backtrace
11KB
142 lines
Backtrace error submission crate
Installation
[dependencies]
backtraceio = "0.1"
Usage
Global error handler
Pass your custom token and upload url from your Backtrace account and a report
modification closure/function to the backtraceio::register_error_handler
function.
backtraceio::register_error_handler(
"https://UNIVERSE.sp.backtrace.io:6098",
"YOURTOKEN",
closure
);
Report
modification function
The error handler will pass the Report
and std::panic::PanicInfo
objects
back to the user, in case there are additional attributes/annotations to be
defined (described more in detail here). It should accept &mut Report
,
&PanicInfo
, making any changes desired to the report.
Example
use backtraceio::Report;
fn main() {
backtraceio::register_error_handler(
"https://UNIVERSE.sp.backtrace.io:6098",
"YOUR_TOKEN",
|r: &mut Report, _| {
let cpus = num_cpus::get();
let cpus = cpus.to_string();
r.attributes.insert(String::from("cpu.cores"), cpus);
},
);
println!("Hello, world!");
panic!("{:?}", 69);
}
Dependencies
~6–18MB
~271K SLoC