【问题标题】:Sentry: Event has no Stack traceSentry:事件没有堆栈跟踪
【发布时间】:2021-01-03 08:37:48
【问题描述】:

我们正在使用 Sentry 进行错误记录。 这适用于真正的异常和崩溃,但是在发送 Events 时,我也需要堆栈跟踪。 但是,这些事件在 Sentry 网站中没有 StackTrace。

我已将配置选项设置为

  options.isAttachStacktrace = true
  options.isAttachThreads = true

我发送警告的消息如下所示

fun logWarning(warning: Exception) {
    val event = SentryEvent()
    event.level = SentryLevel.WARNING
    event.message = Message()
    event.message.message = warning.message
    Sentry.captureEvent(event)
}

Gradle 设置为:

项目:

classpath 'io.sentry:sentry-android-gradle-plugin:1.7.35'

应用:

apply plugin: 'io.sentry.android.gradle'

apply pluginsentry {
    autoProguardConfig true
    autoUpload true
    uploadNativeSymbols false
    includeNativeSources false
}: 'io.sentry.android.gradle'

implementation 'io.sentry:sentry-android-core:2.3.1'
implementation 'io.sentry:sentry-core:2.3.1'

那我做错了什么?

【问题讨论】:

  • 如果isAttachThreads = true,这应该可以。这是什么版本的SDK?您能否创建一个小型复制应用程序以便我们进行调试?
  • 但是我可能需要为 logWarning 方法添加一些东西吗?此 attachThreads 仅来自 Config。在 Gradle 中,我使用 implementation 'io.sentry:sentry-android-core:2.3.1' implementation 'io.sentry:sentry-core:2.3.1'
  • 我注意到 SentryEvent 具有 Fingerprint 的属性。这对我来说可能有用吗?
  • 如果您使用attachStacktrace 进行配置,则所有事件都包含堆栈跟踪,即使只是消息也没有例外。如果不是这种情况,这可能是一个错误。你能试试最新的 alpha 3.0.0-alpha.3 吗?或者请分享一个重现问题的小应用程序,以便我们进行调查。随时在这里提出问题:github.com/getsentry/sentry-java
  • 感谢您的提示,但我没有使用 sentry-java,而是使用 sentry-android-core 和 sentry-core。 (对不起,这有点令人困惑)。但是 Android 也可以使用 sentry-java 吗?

标签: android logging stack-trace sentry


【解决方案1】:

这是一个错误https://github.com/getsentry/sentry-android/pull/540 它应该由 3.0.0-alpha.3 修复,顺便说一句,我们将在周一发布新版本

【讨论】:

  • 感谢您的提示。但不知何故,版本 3 导致了其他问题,给我一个错误返回“CSRF 验证失败”那里有其他改变吗?
  • 这看起来像是服务器错误,并没有真正改变,你有本地 Sentry 或 sentry.io 吗?
  • 嘿,不,它是自托管的。但我在第 2 版中没有遇到过这个问题。
猜你喜欢
  • 2021-08-06
  • 2016-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-03
相关资源
最近更新 更多