gpt4 book ai didi

java - 运行时从哪里获取 Sentry/Raven DSN?

转载 作者:行者123 更新时间:2023-11-30 06:55:49 29 4
gpt4 key购买 nike

Sentry.io requires a Data source name (DSN) for it's clients to upload exceptions 。我从文档中不清楚

  • 这个 DSN 应该保存在哪里,即在应用程序的开源代码中(这似乎不是一个好主意,因为那么私钥有什么意义)或者是否应该从用户那里查询它报告错误并在sentry.io 注册(这意味着它不是真正自动的,但sentry.io 也没有定义)
  • 该字符串的范围,即它是否绑定(bind)到项目或用户,如果后者是维护项目的sentry.io用户或使用包含sentry.io的软件的任何用户客户端并在 Sentry.io 注册。这几乎是一个单独的问题,一旦我必须为 DSN 编写用户输入(如果它是特定于用户的),它就变得相关。

为什么通用文档使用 Javascript,即它仅适用于 Javascript 还是一个示例? In the practical example Raven DSN 来自 main 方法的参数。现实中什么时候会出现这种情况?

最佳答案

对于糟糕的文档,我们深表歉意。实际上,我现在正在努力彻底修改它们。

您是正确的,不建议硬编码 DSN 或从程序参数手动检索它。设置 DSN(和其他配置)的首选方法是通过进程环境变量或 Java 系统属性。请参阅此处的示例:https://github.com/getsentry/raven-java/blob/08c45e38a859e222b56d21570d00ad6a1411ebdd/raven-logback/README.md

这样,Raven 客户端代码可以包含在项目中(甚至在开源项目中),但 DSN 的配置在运行时进行,但管理员更喜欢设置其环境(或者根本不配置,如果他们想要的话)禁用 Sentry)。

关于另一个问题:DSN 与特定的 Sentry 项目绑定(bind),以便聚合该项目中发生的所有异常,无论哪个最终用户遇到问题。

关于java - 运行时从哪里获取 Sentry/Raven DSN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41843941/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com