gpt4 book ai didi

android - 使用 crashlytics 记录我的数据时遇到问题

转载 作者:IT老高 更新时间:2023-10-28 22:01:27 25 4
gpt4 key购买 nike

我正在尝试在我的 android 应用程序中使用 Crashlytics 获取包含一些服务数据的日志。但我没有在仪表板中看到我的日志。我用这个:

String myLog = getServiceData(); //myLog is not null and non-empty
CrashLytics.log(myLog);

还有这个:

String myLog = getServiceData(); //myLog is not null and non-empty
CrashLytics.log(Log.Error, getString(R.string.app_name), myLog);

我试图在我的应用程序中生成异常并处理它,但没有结果:

try {
int a = 0;
a = 1/a;
}
catch (Exception e) {
CrashLytics.log(myLog);
}

我还阅读了 Crashlytics log not sent我需要在记录数据之前初始化 crashlytics。我将 Crashlytics.start(this) 放在我的 Activity 的 onStart() 事件中,但没有再次在仪表板中看到我的日志。最后我尝试在记录我的数据之前直接放置 Crashitycs.start(this) ,但仪表板中仍然没有日志。

请告诉我我做错了什么以及如何在 Crashlytics 仪表板中获取我的自定义日志?

最佳答案

我也遇到过类似的情况。通过一些实验,我能够推断出 Crashlytics 行为的规则。

我在这里分享我的学习成果,因此(希望)其他人不必经历我为弄清楚它所做的艰苦而耗时的过程。

如果发生致命异常,Crashlytics 只会立即将崩溃报告“上传到仪表板”。换句话说,当您的应用程序崩溃时。除非上传崩溃报告,否则仪表板中不会显示任何内容。

如果您记录非致命异常,请使用 CrashLytics.logException(e) ,直到您的应用下次重新启动时,才会不会上传崩溃报告。因此,在应用重新启动之前,您将不会在 Crashlytics 控制面板中看到异常。

您可以判断上传发生的时间,因为您会在 LogCat 中看到此类消息:

07-17 19:30:41.477 18815-18906/com.foo.bar I/Crashlytics﹕ Crashlytics report upload complete: 55A9BA0C01D7-0001-462D-B8B4C49333333.cls

Crashlytics 日志消息必须与致命或非致命异常相关联,才能显示在仪表板中。

此外,与异常无关的日志消息不会在应用重新启动后继续存在。

因此,如果您执行诸如记录一些消息之类的操作,然后重新启动应用程序,则应用程序会引发异常,或者使用 Crashlytics.logException() 记录非致命异常,日志消息将丢失。它们不会显示在仪表板中。

如果您想记录一些没有致命异常的消息,请使用一个或多个 Crashlytics.log()后跟 Crashlytics.logException() 的语句.

要验证它是否有效,请运行代码,然后重新启动应用程序。在仪表板中,您应该看到与为非致命异常创建的问题相关联的日志。在野外,您只需要相信您的用户会定期重启应用。

在 Fabric/Crashlytics 仪表板上,您需要选择 All Events或(如果您只想查看日志调用)Non-Fatals .

enter image description here

关于android - 使用 crashlytics 记录我的数据时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24336444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com