Sentry(v20.12.1) K8S 云原生架构探索, SENTRY FOR JAVASCRIPT 手动捕获事件基本用法

简介: Sentry(v20.12.1) K8S 云原生架构探索, SENTRY FOR JAVASCRIPT 手动捕获事件基本用法

基本用法



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");
});
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
Kubernetes Perl 容器
K8s查看集群 状态事件描述以及Pod日志信息
K8s查看集群 状态事件描述以及Pod日志信息
977 3
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
217 2
|
JavaScript 前端开发
捕获键盘输入和输入组合键的js库hotkeys
捕获键盘输入和输入组合键的js库hotkeys
|
消息中间件 缓存 Kafka
介绍基于事件的架构
介绍基于事件的架构
169 4
|
Kubernetes Cloud Native 持续交付
云原生架构的核心组成部分通常包括容器化(如Docker)、容器编排(如Kubernetes)、微服务架构、服务网格、持续集成/持续部署(CI/CD)、自动化运维(如Prometheus监控和Grafana可视化)等。
云原生架构的核心组成部分通常包括容器化(如Docker)、容器编排(如Kubernetes)、微服务架构、服务网格、持续集成/持续部署(CI/CD)、自动化运维(如Prometheus监控和Grafana可视化)等。
|
JavaScript CDN
js 捕获异常
js 捕获异常
139 1
|
JavaScript
js 捕获 await 的报错
js 捕获 await 的报错
142 1
|
JavaScript
js 事件流、事件冒泡、事件捕获、阻止事件的传播
js 事件流、事件冒泡、事件捕获、阻止事件的传播
305 1
|
C# 微服务 Windows
模块化革命:揭秘WPF与微服务架构的完美融合——从单一职责原则到事件聚合器模式,构建高度解耦与可扩展的应用程序
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中借鉴微服务架构思想,实现模块化设计。通过将WPF应用分解为独立的功能模块,并利用事件聚合器实现模块间解耦通信,可以有效提升开发效率和系统可维护性。文中还提供了具体示例代码,展示了如何使用事件聚合器进行模块间通信,以及如何利用依赖注入进一步提高模块解耦程度。此方法不仅有助于简化复杂度,还能使应用更加灵活易扩展。
499 0
|
Serverless 数据安全/隐私保护 开发者
Serverless 架构问题之阿里云函数计算在事件生态层面如何解决
Serverless 架构问题之阿里云函数计算在事件生态层面如何解决
178 0

热门文章

最新文章

下一篇
开通oss服务