java - 使用 Sentry 时如何将 Java Stack 跟踪打印到控制台
问题描述
我正在使用 Sentry 在我正在构建的应用程序中记录我的 Java 异常。
Sentry 对于生产问题非常棒,但是当我只是在开发中搞乱时,我希望仍然能够将堆栈跟踪输出到控制台。
但是,一旦Sentry.init(...)
运行异常似乎被抑制并且仅在 Sentry 网站上可用。
我应该设置什么选项Sentry.init(...)
以继续拥有控制台堆栈跟踪以进行开发?
解决方案
我找到了两种解决方法。两者都可以在Sentry.init
. 我希望如果分享我的Kotlin
片段很好,它不应该有很大的不同Java
。
如果您可以不将未捕获的异常发送到 Sentry,您可以禁用UncaughtExceptionHandler
:
if (environment == "DEVELOPMENT") {
options.enableUncaughtExceptionHandler = false
}
否则,如果您仍然希望在 Sentry 中出现该异常,您可以setBeforeSend
先将其打印到控制台:
options.setBeforeSend { event, hint ->
if (environment == "LOCAL") {
System.err.println(event.throwable?.printStackTrace())
}
return@setBeforeSend event
}
推荐阅读
- ios - 如何在 MVVM 的 UITableViewCell 中绑定 UIButton 操作
- sql-server - 当它包含用于获取输出的多个函数时,如何读取此 sql server 查询。请简要说明一下?
- flutter - Flutter Textfield Validation 消息索引
- django-rest-framework - QuerySet 对象没有属性序列化
- python-3.x - 之前工作的 Scrape 现在失败了,Data-frame 显示 NAN 为什么会发生这种情况?
- linux - 用于端口路由的 docker ha 代理
- sapui5 - 在智能表的 P13n 对话框的过滤器选项卡中添加包含过滤选项
- google-apps-script - 如何使用 google app 脚本更新 adword-customizer 数据。(以前上传的源导致错误)
- java - 保存数据的最佳方法 onDisable() bukkit 插件
- c# - C#如何在 Roslyn 中检测 EvenHandler 订阅