sentry 0.1.5

Sentry (getsentry.com) Service for rust ;)
Documentation
Rust Sentry Lib
==========

[![Build Status](https://travis-ci.org/aagahi/rust-sentry.svg?branch=master)](https://travis-ci.org/aagahi/rust-sentry)
[![Crates.io](https://img.shields.io/crates/v/sentry.svg?style=flat)](https://crates.io/crates/sentry)
[![Coverage Status](https://coveralls.io/repos/github/aagahi/rust-sentry/badge.svg?branch=master)](https://coveralls.io/github/aagahi/rust-sentry?branch=master)


[Sentry Service](https://www.getsentry.com/) 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 dedicaded channel and sending those messages to sentry server.
If this thread panic, 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 = SentryCrediential { 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

 * Apache License, Version 2.0, ([LICENSE-APACHE]LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license ([LICENSE-MIT]LICENSE-MIT or http://opensource.org/licenses/MIT)

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.