ACRA LogCat参数未按预期工作



我将要描述的内容已经用具有完全相同行为的2.3和4.4.2设备进行了测试,因此我隔离了LogCat访问权限更改带来的任何潜在问题。

我使用的是ACRA版本0.4.5

我想做的很简单,确保我可以向Cloudant的ACRA报告发送按我的应用程序名称过滤的设备的Logcat。

为了做到这一点,我遵循了手册和SO之前的一些帖子(比如这篇:如何在ACRA中过滤logcat输出?)

理想情况下,我应该在配置中包括以下输入:

    logcatArguments = { "-t", "100", "MyApp:D", "*:S" }

但是,这不能正常工作,并且没有错误报告到达数据库,只有两行显示空报告。为了确保有日志,我在强制调用之前强制输出了LogCat,如下所示:

    Log.i(TAG + ":Sending Error or Suggestion", "My message ");
    ACRA.getErrorReporter().handleException(null);

如果我在ACRA配置中更改(两个设备)以下任何一行:

    logcatArguments = { "-t", "100", "MyApp:D"}

    logcatArguments = { "-t", "100"}

我正在从LogCat获得完整的报告,没有任何过滤。我还尝试了包含-v long选项(以防万一)。

回顾SO中关于此主题的所有答案,我发现所有答案都已过时,因为我无法明确找到与此问题和版本0.4.5相关的答案。

知道发生了什么事吗?

======

澄清

经过一番调查,问题并不是那么简单。

目前,所有可用的文档都提供了如何使用TAG在ACRA中进行筛选的示例,目前还不清楚如何像在Eclipse中那样通过应用程序进行筛选。

因此,如果你遇到了和我一样的错误,可能是因为(正如这个问题的答案所示)你在所有日志中使用的标签并不完全相同。

ACRA只是直接向logcat提供这些参数。所以你的问题是,我该如何过滤logcat。

logcat过滤器是params之后的所有过滤器。过滤器的形式为<tag>:<log_level>。如果指定的log_level为S,则将这些消息标记为静默(即不显示它们)。

因此,在没有收到消息的配置中:

logcatArguments = { "-t", "100", "MyApp:D", "*:S" }

您要求使用标记MyApp记录所有消息,并忽略所有其他消息。由于您没有得到日志,我建议您实际上没有在应用程序中使用MyApp作为日志标记。

相关内容

  • 没有找到相关文章

最新更新