Sentry integration for
eyre
sentry-eyre is a integration to capture eyre::Reports. This crate was inspired by the sentry-anyhow integration, and does a similar API but distinct enough to not create any issues.
[dependencies]
sentry-eyre = "0.2"
sentry = "*"use eyre::Result;
use sentry_eyre::capture_report;
use sentry::{ClientOptions, init, types::Dsn};
use std::io::{Error, ErrorKind};
fn some_method_that_fails() -> Result<()> {
Err(Error::new(ErrorKind::Other, "this should fail"))
}
fn main() {
// init the client guard, which will be dropped at the end
// of the scope.
let _guard = init(ClientOptions::default());
let func = some_method_that_fails();
match func {
Ok(()) => panic!("expected this to fail")
Err(report) => {
capture_report(&report);
}
}
}[dependencies]
sentry-eyre = { version = "0.2", features = ["stable-backtrace"]
sentry = "*"
eyre = "*"
stable-eyre = "*"fn main() {
// enable stable-eyre before any eyre reports are created
stable_eyre::install().unwrap();
// rest of your main function
}sentry-eyre is released under the MIT License with love by Noel Towa cutie@floofy.dev