Crates.io | dontpanic |
lib.rs | dontpanic |
version | 0.3.0 |
source | src |
created_at | 2024-05-16 08:40:42.508447 |
updated_at | 2024-09-03 13:00:27.881096 |
description | Get instant notifications about any panic!(); in your codebase. |
homepage | |
repository | https://github.com/peterprototypes/dontpanic |
max_upload_size | |
id | 1241903 |
size | 39,801 |
Send Rust panic!() and log::error!() messages to a backend server. See dontpanic-server
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
at your option.