Sentry 开发者贡献指南 - JavaScript SDK Minimal

开发 前端
它允许库作者添加对 Sentry SDK 的支持,而无需捆绑整个 SDK 或依赖于特定平台。简单来说,它是 @sentry/node 或 @sentry/browser 等特定于平台的 SDK 库的公共基础部分。

简介

嵌入到应用程序中时使用配置 ​​client​​​ 的最小 ​​Sentry SDK​​​。它允许​​库作者​​​添加对 ​​Sentry SDK​​ 的支持,而无需捆绑整个 ​​SDK​​​ 或依赖于特定平台。简单来说,它是 ​​@sentry/node​​​ 或 ​​@sentry/browser​​ 等特定于平台的 SDK 库的公共基础部分。

Sentry JavaScript SDK Minimal

用法

要使用 ​​minimal​​​,您不必初始化 ​​SDK​​​。这应该由您库的用户处理。而是直接使用 ​​@sentry/minimal​​ 的导出函数添加面包屑或捕获事件:

import * as Sentry from '@sentry/minimal';

// 为未来的事件添加面包屑
Sentry.addBreadcrumb({
message: 'My Breadcrumb',
// ...
});

// 捕获异常、消息或手动事件
Sentry.captureMessage('Hello, world!');
Sentry.captureException(new Error('Good bye'));
Sentry.captureEvent({
message: 'Manual',
stacktrace: [
// ...
],
});

请注意,虽然严格可行,但不鼓励干扰事件上下文。如果由于某种原因您的库需要注入上下文信息,请注意这可能会覆盖用户的上下文值:

// 设置用户信息、标签和其他附加信息
Sentry.configureScope(scope => {
scope.setExtra('battery', 0.7);
scope.setTag('user_mode', 'admin');
scope.setUser({ id: '4711' });
// scope.clear();
});

测试用例

PASS  test/lib/minimal.test.ts
Minimal
✓ Clear Scope (1ms)
✓ returns undefined before binding a client (1ms)
✓ returns the bound client (1ms)
✓ Calls function on the client (1ms)
✓ does not throw an error when pushing different clients (1ms)
✓ does not throw an error when pushing same clients
✓ custom carrier (1ms)
✓ withScope (2ms)
✓ setExtras (1ms)
✓ setTags (1ms)
✓ setExtra (1ms)
✓ setTag
✓ setUser (1ms)
✓ setContext (1ms)
Capture
✓ Return an event_id (4ms)
✓ Exception (1ms)
✓ Exception with explicit scope (1ms)
✓ Message (1ms)
✓ Message with explicit scope (1ms)
✓ Message with custom level (2ms)
✓ Event (1ms)
configureScope
✓ User Context (2ms)
✓ Extra Context (1ms)
✓ Tags Context (1ms)
✓ Fingerprint
✓ Level (1ms)


责任编辑:武晓燕 来源: 黑客下午茶
相关推荐

2022-01-02 23:26:08

开发SDK Sentry

2021-12-25 22:31:55

Sentry 监控SDK 开发 性能监控

2021-12-31 18:35:40

监控Sentry开发

2022-01-03 22:59:30

开发SDK数据

2022-01-02 06:59:43

SentrySDK 开发客户端报告

2022-01-11 20:42:54

开发Sentry标志

2022-01-17 19:34:43

SentryWeb APISentry API

2022-01-19 19:49:53

Sentry浏览器SDK

2022-01-15 23:33:47

SentryPyCharm配置

2022-01-18 23:26:45

开发

2021-12-15 20:06:48

ReactJSSentry开发者

2022-01-16 22:16:59

数据库Sentry开发者

2022-01-13 20:13:31

元宇宙搜索引擎

2021-12-16 20:12:37

后端开发Sentry

2022-01-20 19:49:10

Sentry开发Scope

2021-12-17 19:15:51

前端虫洞状态

2021-11-17 18:38:32

avaScriptSDK调试

2019-02-21 13:40:35

Javascript面试前端

2015-07-22 16:08:46

OpenStack开源贡献代码

2018-03-27 23:25:40

Paddle
点赞
收藏

51CTO技术栈公众号