Sentry问题:调用Sentry.setUser(email)后仪表盘仅显示IP不显示用户邮箱
Sentry.setUser()设置邮箱后仪表盘不显示的排查方案
检查
email对象结构是否符合要求
Sentry的setUser需要传入包含email顶级字段的对象,比如{ email: "user@example.com" }。如果你的email对象是自定义结构(比如{ userEmail: "xxx" }),Sentry无法识别。控制台打印JSON.stringify(email)确认结构,确保键名是email。确认setUser的调用时机
必须在Sentry.init()完成之后调用setUser,如果初始化未完成就执行设置,用户信息不会被附加到事件中。可以把设置逻辑放在页面加载完成后,或者Sentry.init的beforeSend钩子内,确保在事件上报前完成配置。检查上报事件的请求体
打开浏览器开发者工具,找到Sentry的上报请求(路径一般是/api/{项目ID}/store/),查看请求体里的user字段是否包含邮箱。如果请求体里没有user,说明设置没生效;如果有,刷新仪表盘或者检查项目的用户显示配置。排查是否有代码覆盖用户信息
检查后续代码是否调用了Sentry.setUser(null)或者修改了用户信息,比如路由跳转、登出逻辑里的误操作。可以在setUser后加断点,跟踪后续对用户信息的修改。升级Sentry SDK版本
部分旧版本SDK存在setUser的兼容问题,尝试升级到最新稳定版后重新测试。
内容的提问来源于stack exchange,提问作者Nitesh Gupta
相关产品推荐
相关产品推荐

