sentry 0.13.0

Sentry (getsentry.com) client for rust ;)
Documentation
#[macro_use]
extern crate error_chain;

use sentry::integrations::error_chain::capture_error_chain;

error_chain! {
    errors {
        MyCoolError(t: &'static str) {
            description("my cool error happened")
            display("my cool error happened: {}", t)
        }
    }
}

fn execute() -> Result<()> {
    Err(ErrorKind::MyCoolError("Something went really wrong").into())
}

fn main() {
    let _sentry = sentry::init(sentry::ClientOptions {
        dsn: Some(
            "https://a94ae32be2584e0bbd7a4cbb95971fee@sentry.io/1041156"
                .parse()
                .unwrap(),
        ),
        release: sentry::release_name!(),
        ..Default::default()
    });

    if let Err(err) = execute() {
        println!("error: {}", err);
        capture_error_chain(&err);
    }
}