sentry-rs 2.2.0

A Sentry Client for Rust Lang.
Documentation
extern crate env_logger;
extern crate sentry_rs;

use sentry_rs::models::SentryCredentials;
use sentry_rs::Sentry;
use std::env;
use std::sync::Arc;
use std::thread;

fn main() {
  env_logger::init();
  let credentials = SentryCredentials {
    scheme: env::var("SENTRY_SCHEME").unwrap_or("https".to_owned()),
    key: env::var("SENTRY_KEY").unwrap_or("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX".to_owned()),
    secret: env::var("SENTRY_SECRET").unwrap_or("YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY".to_owned()),
    host: Some(env::var("SENTRY_HOST").unwrap_or("app.getsentry.com".to_owned())),
    project_id: env::var("SENTRY_PROJECT_ID").unwrap_or("XX".to_owned()),
  };
  let sentry = Arc::new(Sentry::new(
    "Server Name".to_string(),
    "Release of Your Project Consider using env!()".to_string(),
    "Environment you're deployed in".to_string(),
    credentials,
  ));

  let other_sentry_one = sentry.clone();
  let other_sentry_two = sentry.clone();

  let thread_one = thread::spawn(move || {
    other_sentry_one.info("thread.one", "Test Message", None, None);
  });
  let thread_two = thread::spawn(move || {
    other_sentry_two.info("thread.two", "Message Test", None, None);
  });

  let _ = thread_one.join();
  let _ = thread_two.join();
}