Crate honeybadger[−][src]
An unofficial Honeybadger Rust client
Description
Honeybadger is a service that receives, stores and alerts on application errors and outages. This library is a community-provided client for the Honeybadger Exceptions API.
Underneath, the client uses a Tokio-based version of
Hyper, and leverages
ErrorChain to support backtraces. Basic
support for the Failure Error struct exists
through a From
trait, and hence the possibility for further compatibility with other custom
Error implementations.
Example
Assuming the project is setup to use
ErrorChain, the following
example will execute code in do_work
, send a honeybadger exception if it fails, and
subsequently end the program.
use tokio::prelude::*; use tokio::prelude::future::result; use tokio::runtime::run; fn do_work() -> Result<()> { // write code ... Ok(()) } // let api_token = "..."; let config = ConfigBuilder::new(api_token).build(); let mut hb = Honeybadger::new(config).unwrap(); let work = result(do_work()) .or_else(move |e| result(hb.create_payload(&e, None)) .and_then(move |payload| hb.notify(payload))) .map_err(|e| println!("error = {:?}", e)); run(work);
Modules
errors |
Errors used by this package and chained from upstream libraries |
notice |
Data structures for marshaling to honeybadger's API |
Structs
ConfigBuilder |
Configuration builder struct, used for building a |
Honeybadger |
Instance containing the client connection and user configuration for this crate. |