我想把sentry添加到我的React widget中,这是一个酒店预订widget,很多酒店都在使用它,我把@sentybrowser添加到项目中,现在有一个问题,每当他们的网站发生任何错误时,我都会收到sentry的问题,但我不想从他们的代码中得到错误。
这是我简单的Sentry配置代码。
import * as Sentry from '@sentry/browser'
Sentry.init({
dsn: SENTRY_DSN
})
我想让哨兵只从widget范围内发送错误信息(只从属于widget的一些js文件中发送)。如果有任何帮助,我将感激不尽。
我搜索了一下,只找到了 "beforeSend "函数,这个函数在发送问题之前会被调用,但我想不通,beforeSend的数据参数不包含任何有用的数据,无法检查错误是否来自我的代码,我也不知道是否可以在beforeSend里面阻止发送问题。
PS: 这些酒店将小部件添加到他们的网站上的方法很简单,他们只需要在网站的页脚(我的项目的main.js)添加一个脚本标签,并在他们想要放置小部件的地方添加一个div标签(这个div标签必须有一个特定的ID)。
尝试使用这个。
import * as Sentry from '@sentry/browser';
init({
beforeSend(event, hint) {
const error = hint.originalException;
if (error && error.message && error.message.match(/database unavailable/i)) {
event.fingerprint = ['database-unavailable'];
}
return event;
}
});