Sentry指纹分组配置:实现跨子域名JS错误统一归集
解决方案:统一多子域名Sentry错误分组
可以通过两种方式实现,分别适配不同场景:
一、Sentry后台配置(无需修改代码)
利用Sentry内置的指纹规则功能,直接在后台调整错误分组逻辑:
- 进入目标项目的「设置」→「错误分组」→「指纹规则」
- 点击「添加规则」,设置触发条件(比如匹配事件的
request.url包含.website.com/test/) - 选择「修改指纹」操作,用正则替换URL中的子域名部分:
- 匹配模式:
https:\/\/.*\.website.com\/test\/(\d+) - 替换内容:
https:\/\/*.website.com\/test\/$1
- 匹配模式:
- 将处理后的URL与错误信息(如
Illegal invocation)组合成新指纹,保存规则即可。
这种方式不用改动业务代码,适合快速完成子域名错误的统一归集。
二、代码层面处理(灵活定制)
如果需要更复杂的指纹逻辑,可在Sentry初始化时通过beforeSend钩子修改事件指纹:
Sentry.init({ dsn: '你的项目DSN', beforeSend(event) { // 针对当前指纹格式做适配修改 if (event.fingerprint?.length === 2) { const [errorMsg, originalUrl] = event.fingerprint; // 将任意子域名替换为* const modifiedUrl = originalUrl.replace(/https:\/\/[^.]+\.website.com/, 'https://*.website.com'); event.fingerprint = [errorMsg, modifiedUrl]; } return event; } });
该方式可结合更多业务逻辑调整指纹,比如同时处理动态ID、多路径匹配等场景。
建议
- 若仅需统一子域名分组,优先用后台指纹规则,操作简单且无需代码发布;
- 若有额外定制需求(如多维度指纹调整),再选择代码层面的
beforeSend方案。
内容的提问来源于stack exchange,提问作者eric MC
相关产品推荐
相关产品推荐

