【问题标题】:Is there an include parameter for sentry/browser to include only specific files?哨兵/浏览器是否有包含参数以仅包含特定文件?
【发布时间】:2023-03-24 22:56:01
【问题描述】:

我想将哨兵添加到我的 React 小部件。这是一个酒店预订小部件,许多酒店都使用它。我将@senty/browser 添加到项目中,现在每当他们的网站发生任何错误时都会出现问题,我会收到来自哨兵的问题。但我不想从他们的代码中得到错误。

这是我的简单 Sentry 配置代码:

import * as Sentry from '@sentry/browser'

Sentry.init({
    dsn: SENTRY_DSN
})

我想要一种方法来告诉哨兵只从小部件范围发送错误(仅来自一些属于小部件的 js 文件)。任何帮助将不胜感激。

我进行了搜索,发现只有在发送问题之前将调用的“beforeSend”函数。但我想不通。 beforeSend 的 data 参数不包含任何有用的数据来检查错误是否来自我的代码。而且我不知道是否可以在 beforeSend 中防止发送问题。

PS:这些酒店将小部件添加到其网站的方式很简单。他们只需要在他们网站的页脚(我的项目的内置 main.js)中添加一个脚本标签,并在他们想要放置小部件的任何地方添加一个 div 标签(这个 div 标签必须具有特定的 ID)。

【问题讨论】:

    标签: reactjs sentry


    【解决方案1】:

    试试这个:

    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;
      }
    });
    

    Gihtub issue

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-05
    • 2015-01-03
    • 2011-10-28
    相关资源
    最近更新 更多