dontpanic

Send Rust panic!() and log::error!() messages to a backend server. See dontpanic-server

[![crates.io](https://img.shields.io/crates/v/dontpanic?label=latest)](https://crates.io/crates/dontpanic) [![Docs](https://docs.rs/dontpanic/badge.svg)](https://docs.rs/dontpanic) ![License](https://img.shields.io/crates/l/dontpanic.svg) Client library for [Don't Panic Server](https://github.com/peterprototypes/dontpanic-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`: ```toml [dependencies] dontpanic = "*" ``` ```rust use anyhow::Result; fn main() -> Result<()> { let client = dontpanic::builder("") .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::::None.unwrap(); Ok(()) } ``` `` can be obtained from [Don't Panic Server](https://github.com/peterprototypes/dontpanic-server). For more examples see the [Documentation](https://docs.rs/dontpanic). ## Contributing All commit messages must follow [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification. ## License Licensed under either of - Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or ) - MIT license ([LICENSE-MIT](LICENSE-MIT) or ) at your option.