regex Sentry:无法将正则表达式用作networkDetailAllowUrls参数

o75abkj4  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(76)

我在自己开发的打字脚本软件即服务(saas)中使用了sentry。
初始化Sentry时,我添加以下参数(https://docs.sentry.io/platforms/javascript/session-replay/configuration/):
networkDetailAllowUrls networkRequestHeaders networkResponseHeaders networkCaptureBodies
由于我的SaaS同时具有生产和测试环境,因此我需要验证两个不同的API端点。https://api.staging.euhttps://api.production.eu
因此,我需要使用两个正则表达式模式来监视这两个URL的所有变体。因此,我已经设置了正则表达式模式,如下所示。

integrations: [new BrowserTracing(), new Sentry.Replay({
        [...]
        networkDetailAllowUrls: [window.location.origin, '^https:\/\/api\.staging\.eu(\/.*)?$', '^https:\/\/api\.production\.eu(\/.*)?$'],
        networkRequestHeaders: ["Cache-Control"],
        networkResponseHeaders: ["Referrer-Policy"],
        networkCaptureBodies: true,
    },)],

问题是这些正则表达式模式似乎不起作用,因为对于Sentry监视的每个问题,它告诉我添加特定的API URL以便能够控制它。
添加https://api.staging.eu/tenant/admin/...。添加到networkDetailAllowUrls列表以开始捕获数据。
所以我在想我可能做错了什么。我在一个在线验证器上尝试了正则表达式模式,它们工作得很好。

nx7onnlm

nx7onnlm1#

我不确定在正斜杠之前是否需要反斜杠。
但是,模式是有效的,并且适用于提供的值。

^https://api\.staging\.eu(?:/.*)?$
^https://api\.production\.eu(?:/.*)?$

或者

^https://api\.(?:staging|production)\.eu(?:/.*)?$

相关问题