Client library for Don't Panic Server. This crate registers a panic handler and send each panic from your application to a backend server. If configured, the latest log messages before each panic are sent as well. Supported logging facilities are log and tracing.
To use dontpanic
, add this to your Cargo.toml
:
[dependencies]
dontpanic = "*"
use anyhow::Result;
fn main() -> Result<()> {
let client = dontpanic::builder("<PROJECT_API_KEY>")
.environment("production")
.version(env!("CARGO_PKG_VERSION"))
.build()?
let logger = env_logger::Builder::from_default_env().build();
client.set_logger(logger)?;
log::info!("What's happening here?");
log::error!("Booooom");
Option::<u32>::None.unwrap();
Ok(())
}
<PROJECT_API_KEY>
can be obtained from Don't Panic Server. For more examples see the Documentation.
All commit messages must follow Conventional Commits specification.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.