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.
Add this to your Cargo.toml
:
[dependencies]
sentry = "0.1.9"
and this to your crate root:
extern crate sentry;
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 and still provide you own handler
sentry.register_panic_handler(Some(|panic_info: &PanicInfo| -> () {}));
sentry.unregister_panic_handler();
Check OpenSSL setup for OSX if you have some issue while building OpenSSL.
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
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.