Sentry:我需要使用 Sentry.capture() 吗?

Sentry: do I need to use Sentry.capture()?

我正在尝试让 Sentry 与 maven/Java 项目一起工作。似乎我可以初始化与哨兵服务器的连接,但是只有我用 Sentry.capture(e) 专门捕获的错误才会加载到服务器。我怎样才能使每个未捕获的错误都加载到服务器?

我正在使用环境变量,我正在使用 intelliJ。 在 "Run" -> "Edit Configurations..." -> "Environment Variables"

然后我插入了 SENTRY_DNS="myDNS" SENTRY_SAMPLE_RATE="0.75" ,如文档中所示...我缺少什么吗?

这取决于您的应用程序。

如果您已经在使用日志记录框架(log4j、log4j2、logback 或 java.util.logging),您可以使用其中一个集成来自动捕获任何 logger.error 调用:https://docs.sentry.io/clients/java/modules/

如果你没有使用日志框架,或者你想捕获其他异常,那么你需要用Sentry.capture(...)手动捕获它们。

您的应用程序是否有主 运行 循环?如果它是某种服务器,通常有一个地方可以在主 try/catch 循环中插入一个 Sentry.capture(...)。如果它是一次性 CLI 应用程序,那么您可以包装整个 main 方法体。