80 个版本
| 0.34.0 | 2024 年 6 月 5 日 |
|---|---|
| 0.32.3 | 2024 年 4 月 16 日 |
| 0.32.2 | 2024 年 1 月 30 日 |
| 0.32.1 | 2023 年 12 月 18 日 |
| 0.1.4 | 2016 年 7 月 8 日 |
#12 在 调试 中排名
565,505 每月下载量
在 150 个代码包(60 个直接使用) 中使用
335KB
6K SLoC
Sentry Rust SDK: sentry
此代码包为将事件和错误/恐慌记录到 Sentry 错误日志服务提供支持。它集成了 Rust 的标准恐慌系统以及一些流行的错误处理设置。
快速入门
使用此库最方便的方式是通过 sentry::init 函数,该函数使用默认的集成启动一个 Sentry 客户端,并将其绑定到当前的 Hub。有关如何在并行、并发和异步场景中使用 Sentry 的更多信息,请参阅 Hub 文档。
sentry::init 函数返回一个保护器,当它被丢弃时,将刷新尚未发送到 Sentry 服务的事件。此操作有两个秒的截止日期,因此应用程序的关闭可能会因此略有延迟。请保留保护器,否则发送事件将无法工作。
let _guard = sentry::init("https://key@sentry.io/42");
sentry::capture_message("Hello World!", sentry::Level::Info);
// when the guard goes out of scope here, the client will wait up to two
// seconds to send remaining events to the service.
有关如何使用 Sentry 的更复杂示例,请参阅 示例。更详细的说明也可以在 Sentry 本身 找到。
集成
使这个crate变得有用的因素是其各种集成。其中一些默认启用;请参见特性。不常见的集成或生态系统中已弃用的部分的集成需要启用特性标志。有关可用的集成及其使用方法,请参阅集成和apply_defaults。
最小API
这个crate功能齐全。如果目标是使用sentry对库进行仪器化,或者用自定义的Integration或Transport扩展sentry,则应使用sentry-core crate。
特性
通过特性标志启用附加功能集和集成。某些特性需要额外的设置才能正常工作。
| 特性 | 默认 | 集成 | 已弃用 | 附加说明 |
|---|---|---|---|---|
回溯 |
✅ | 🔌 | ||
上下文 |
✅ | 🔌 | ||
panic |
✅ | 🔌 | ||
传输 |
✅ | |||
anyhow |
🔌 | |||
测试 |
||||
debug-images |
✅ | 🔌 | ||
日志 |
🔌 | 需要额外设置;请参阅sentry-log的文档。 |
||
debug-logs |
❗ | 需要额外设置;请参阅sentry-log的文档。 |
||
slog |
🔌 | 需要额外设置;请参阅sentry-slog的文档。 |
||
reqwest |
✅ | |||
native-tls |
✅ | reqwest必须启用。 |
||
rustls |
reqwest必须启用。必须通过default-features = false禁用native-tls。 |
|||
curl |
||||
surf |
||||
tower |
🔌 | 需要额外设置;请参阅sentry-tower的文档。 |
||
ureq |
默认使用rustls支持ureq传输 |
|||
ureq-native-tls |
默认特性
backtrace:启用回溯支持。contexts:启用捕获设备、操作系统和Rust上下文。panic:启用捕获panic的支持。transport:启用默认传输,目前是使用native-tls的reqwest。debug-images:启用捕获加载的共享库的元数据。
调试/测试
anyhow:启用对anyhowcrate的支持。test:启用测试支持。
日志记录
log:启用对logcrate的支持。slog:启用对slogcrate的支持。debug-logs:已弃用。使用logcrate进行内部日志记录。
传输
reqwest:默认。启用reqwest传输。native-tls:默认。使用native-tlscrate。这仅影响reqwest传输。rustls:启用reqwest的rustls支持。请注意,native-tls是默认特性,并且必须将default-features = false设置为完全禁用构建native-tls依赖项。curl:启用curl传输。surf:启用surf传输。ureq:使用rustls启用ureq传输。ureq-native-tls:使用native-tls启用ureq传输。
集成
tower:启用对towercrate 及其使用者的支持。
资源
许可证:Apache-2.0
- Discord 服务器用于项目讨论。
- 关注 @getsentry 获取更新
依赖关系
~3–43MB
~723K SLoC