5 unstable releases
0.3.0 | Sep 3, 2024 |
---|---|
0.2.3 | Aug 31, 2024 |
0.2.2 | Aug 24, 2024 |
0.2.1 | Aug 23, 2024 |
0.1.0 | May 16, 2024 |
#244 in Debugging
216 downloads per month
26KB
396 lines
dontpanic
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.
Example Usage
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.
Contributing
All commit messages must follow Conventional Commits specification.
License
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.
Dependencies
~4.5–6.5MB
~135K SLoC