【问题标题】:Exception stack trace lost in Google Analytics v2 for Android?在适用于 Android 的 Google Analytics v2 中丢失了异常堆栈跟踪?
【发布时间】:2012-12-23 09:22:20
【问题描述】:

堆栈跟踪对于解决问题至关重要。在 Android 中,您可以在 Play 商店控制台中找到不错的报告。除非您使用 Google Analytics V2。在这种情况下,Analytics 似乎吞下了这些例外。更糟糕的是,Analytics 似乎只记录了异常的第一行,因此丢失了堆栈跟踪。至少它没有显示在错误报告中。

这是来自我们的 analytics.xml 的片段:

<!-- Enable automatic exception tracking -->
<bool name="ga_reportUncaughtExceptions">true</bool>
<bool name="ga_debug">false</bool>

参见此处:https://developers.google.com/analytics/devguides/collection/android/v2/exceptions#easytracker

那么,我们的应用程序中是否存在某些缺失/错误?

【问题讨论】:

    标签: android exception-handling google-analytics


    【解决方案1】:

    正如之前的回答 (user857661) 所说,请参阅 Google Analytics 文档以创建新的 ExceptionReporter,或参阅 my blog post 了解如何将自定义 ExceptionParser 分配给默认处理程序。

    【讨论】:

    • 优秀的自定义解析器 Dan!像魅力一样工作!
    • 根据changelog从2.0b3版本开始有可以使用的StandardExceptionReporter
    • @mente 说得好,尽管我认为您的意思是 StandardExceptionParser。你可以用 JD-GUI 反编译源代码,看看它是如何实现的,或者直接实例化它——它似乎产生了一些有用的信息,但不是很多,例如
      StandardExceptionParser standardExceptionParser = new StandardExceptionParser(this, null); Log.e("TEST", standardExceptionParser.getDescription(Thread.currentThread().getName(), new RuntimeException("Testing StandardExceptionParser stack trace")));
      输出 = RuntimeException (@MainActivity:onCreate:29) {main}
    • @Nemi 这个想法也应该适用于 v3(事实上我知道因为我将一个或两个项目迁移到它),但其他事情已经改变了,比如如何以编程方式发送捕获的异常 -我会考虑写一篇与 v3.01 兼容的新帖子 developers.google.com/analytics/devguides/collection/android/v3/…
    • 这里的大读警告怎么样:developers.google.com/analytics/devguides/collection/android/v4/…?如果不注意过滤掉实际的异常消息,则存在违反隐私准则的一定风险......
    【解决方案2】:

    如果您想在 GA V3.0 及更高版本上查看完整的异常跟踪,请发送您的异常

    String exceptionTrace = "Any custom string as well " + getExceptionDescription(Ex);    
    EasyTracker.getInstance(context).send(MapBuilder.createException(exceptionTrace, false).build());
    

    【讨论】:

      【解决方案3】:

      您可以覆盖 ExceptionParser 类以获取有关堆栈跟踪的更多信息:https://developers.google.com/analytics/devguides/collection/android/v2/exceptions#exception-parser。不过,我不确定堆栈跟踪在 Google Analytics 网络界面中是否非常可读。

      【讨论】:

      • 可能是一种解决方法。奇怪的是,文档说“描述字段是使用堆栈跟踪自动填充的”。它似乎只有异常消息。
      猜你喜欢
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      • 2012-03-25
      • 2017-08-06
      • 2010-09-13
      • 2012-11-17
      • 2017-08-02
      相关资源
      最近更新 更多