#sentry #service #thread #lib #server #fixes #com

donhcd-sentry

Sentry (getsentry.com) Service for rust ;) fork of https://github.com/aagahi/rust-sentry with a few fixes

1 unstable release

Uses old Rust 2015

0.1.5 Aug 11, 2016

#7 in #fixes

MIT/Apache

24KB
554 lines

Rust Sentry Lib

Build Status Crates.io Coverage Status

Sentry Service now available for rust ;)

Rust 1.10 should include register_panic_handler 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:

[dependencies]
sentry = "0.1.5"

and this to your crate root:

extern crate sentry;

Examples

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

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

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.

Dependencies

~6.5MB
~132K SLoC