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://[email protected]/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
:启用对anyhow
crate的支持。test
:启用测试支持。
日志记录
log
:启用对log
crate的支持。slog
:启用对slog
crate的支持。debug-logs
:已弃用。使用log
crate进行内部日志记录。
传输
reqwest
:默认。启用reqwest
传输。native-tls
:默认。使用native-tls
crate。这仅影响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
:启用对tower
crate 及其使用者的支持。
资源
许可证:Apache-2.0
- Discord 服务器用于项目讨论。
- 关注 @getsentry 获取更新
依赖关系
~3–43MB
~723K SLoC