#sentry #service #thread #lib #server #fork #github

donhcd-sentry

Sentry (getsentry.com) 服务,为 Rust 语言编写;基于 https://github.com/aagahi/rust-sentry 进行少量修改的分支

1 个不稳定版本

使用旧的 Rust 2015

0.1.5 2016年8月11日

#40 in #sentry

MIT/Apache

24KB
554

Rust Sentry 库

Build Status Crates.io Coverage Status

Sentry 服务 现在支持 Rust ;)

Rust 1.10 应该包括 register_panic_handler 功能,顺便为这个库增加更多价值 ;) 此实现使用一个线程监听来自专用通道的传入消息,并将这些消息发送到 Sentry 服务器。如果此线程崩溃,将创建一个新的线程。

用法

将以下内容添加到你的 Cargo.toml

[dependencies]
sentry = "0.1.5"

并添加到你的 crate 根目录

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);

你可以跨线程共享 Sentry

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));

使用 Rust 1.10 或 nightly,你可以注册 panic 处理器

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

许可证

根据您选择的许可证

贡献

除非您明确说明,否则您提交的任何有意包含在作品中的贡献,根据 Apache-2.0 许可证的定义,应如上所述双许可,不得附加任何其他条款或条件。

依赖

~6MB
~136K SLoC