用户
了解如何配置 SDK 以捕获用户并获取在 Sentry 中构建唯一身份的关键信息。
用户由几个关键信息组成,这些信息在 Sentry 中构建一个唯一身份。每个字段都是可选的,但至少必须有一个存在,Sentry SDK 才能捕获用户:
您内部的用户标识符。
用户名。通常比内部 ID 更适合作为标签。
作为用户名的替代或补充。Sentry 识别电子邮件地址,并可以显示 Gravatars 或解锁消息功能。
用户的 IP 地址。如果用户未经过身份验证,Sentry 将使用 IP 地址作为用户的唯一标识符。 服务器端 SDK 会尝试从 HTTP 请求数据(如 JSON 中的 request.env.REMOTE_ADDR
字段)中提取 IP 地址(如果可用)。这需要您在 RequestData
集成中将 include.ip
选项设置为 true
。
如果用户的 ip_address
设置为 "{{auto}}"
,Sentry 将根据应用程序与 Sentry 服务器之间的连接推断 IP 地址。
如果省略此字段,默认值为 "{{auto}}"
。SDK 和其他客户端不应依赖此行为,而应显式设置 IP 地址或 "{{auto}}"
。
要确保用户的 IP 地址从未存储在事件数据中,您可以进入项目设置,点击“安全与隐私”,启用“防止存储 IP 地址”或使用 Sentry 的 服务器端数据清理 来移除 $user.ip_address
。添加此类规则最终会覆盖任何其他逻辑。
此外,您可以提供任意键值对,超出保留名称,Sentry SDK 将把这些信息与用户一起存储。
您可以通过调用 Sentry SDK 的 setUser
方法来设置用户:
Copied
Sentry.setUser({ email: "john.doe@example.com" });
您也可以清除当前设置的用户:
Copied
Sentry.setUser(null);