Rust Sentry Lib

Build Status Crates.io Coverage Status

Sentry Service now available for rust ;)

Rust 1.10 should include registerpanichandler and btw bring more value to this lib ;) This implementation use one thread listening incoming messages from dedicated channel and sending those messages to sentry server. If this thread panics, a new one is created.

Usage

Add this to your Cargo.toml:

toml [dependencies] sentry = "0.1.5"

and this to your crate root:

rust extern crate sentry;

Examples

rust let credential = SentryCredential { key: "xx".to_string(), secret: "xx".to_string(), host: "app.getsentry.com".to_string(), project_id: "xx".to_string() }; let sentry = Sentry::new( "Server Name".to_string(), "release".to_string(), "test_env".to_string(), credential ); sentry.info("test.logger", "Test Message", None);

you can share sentry accross threads

rust let sentry = Arc::new(Sentry::new( "Server Name".to_string(), "release".to_string(), "test_env".to_string(), credential )); let sentry1 = sentry.clone(); thread::spawn(move || sentry1.info("test.logger", "Test Message", None));

with rust 1.10 or nightly you can register panic handler

rust sentry.register_panic_handler(); sentry.unregister_panic_handler();

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.