hacker-linner

系列

  1. Sentry-Go SDK 中文实践指南
  2. 一起来刷 Sentry For Go 官方文档之 Enriching Events
  3. Snuba:Sentry 新的搜索基础设施(基于 ClickHouse 之上)
  4. Sentry 10 K8S 云原生架构探索,Vue App 1 分钟快速接入
  5. Sentry(v20.12.1) K8S云原生架构探索,玩转前/后端监控与事件日志大数据分析,高性能高可用+可扩展可伸缩集群部署
  6. Sentry(v20.12.1) K8S 云原生架构探索,Sentry JavaScript SDK 三种安装加载方式
  7. Sentry(v20.12.1) K8S 云原生架构探索,SENTRY FOR JAVASCRIPT SDK 配置详解

基本用法

Sentry 的 SDK 挂接到您的运行时环境中,并自动报告错误(errors)、异常(exceptions)和拒绝(rejections)。

关键术语:

  • event 是向 Sentry 发送数据的一个实例。通常,该数据是一个错误(error)或异常(exception)。
  • issue 是一组类似事件。
  • 事件的报告称为 capturing。捕获事件后,会将其发送给 Sentry。

最常见的捕获形式是捕获错误(capture errors)。可以捕获的错误因平台而异。通常,如果您有一些看起来像异常(exception)的东西,它可以被捕获。对于某些 SDK,还可以省略 capture_exception 的参数,Sentry 将尝试捕获当前异常。对于向 Sentry 手动报告错误或消息也很有用。

在捕获事件时,您还可以记录导致该事件的面包屑(breadcrumbs)。面包屑与事件不同:它们不会在 Sentry 中创建事件,但会在发送下一个事件之前被缓冲。在我们的 Breadcrumbs documentation 中了解更多关于面包屑的信息。

捕获错误

在 JavaScript 中,您可以将错误对象传递给 captureException(),以将其捕获为事件。可以将字符串作为错误抛出,在这种情况下无法记录回溯。

try {
  aFunctionThatMightFail();
} catch (err) {
  Sentry.captureException(err);
}

捕获裸消息

另一个常见操作是捕获裸消息(bare message)。消息是应该发送给 Sentry 的文本信息。通常情况下,消息不会发出,但它们对某些团队可能很有用。

Sentry.captureMessage("Something went wrong");

设置事件级别

level — 类似于日志级别 — 通常是根据集成(integration)默认添加的。您还可以在事件中重写它。

要在 scope 外设置 level,你可以调用 captureMessage() 每个事件:

Sentry.captureMessage("this is a debug message", "debug");

要在作用域(scope)中设置级别,你可以调用 setLevel()

Sentry.configureScope(function(scope) {
  scope.setLevel(Sentry.Severity.Warning);
});

或者每个事件:

Sentry.withScope(function(scope) {
  scope.setLevel("info");
  Sentry.captureException("info");
});

中文文档陆续同步到:

我是为少。
微信:uuhells123。
公众号:黑客下午茶。
谢谢点赞支持

分类:

技术点:

相关文章: