Android Crashlytics不会在Firebase控制台中显示自定义日志条目

Android Crashlytics不会在Firebase控制台中显示自定义日志条目,android,firebase,crashlytics-android,Android,Firebase,Crashlytics Android,我已经按照谷歌的说明将Firebase Crashlytics集成到我的应用程序中: 我的问题是当我尝试进行自定义日志记录时,例如: Crashlytics.log("testing"); Crashlytics.log(Log.ERROR, TAG, "testing"); Crashlytics.getInstance().crash(); 在Firebase控制台中,我得到了崩溃堆栈回调(正如预期的那样),但从第一个Crashlytics.log调用中只得到一个(可能是第一个)日志项(

我已经按照谷歌的说明将Firebase Crashlytics集成到我的应用程序中:

我的问题是当我尝试进行自定义日志记录时,例如:

Crashlytics.log("testing");
Crashlytics.log(Log.ERROR, TAG, "testing");
Crashlytics.getInstance().crash();
Firebase控制台
中,我得到了崩溃堆栈回调(正如预期的那样),但从第一个
Crashlytics.log调用中只得到一个(可能是第一个)日志项(但不是上面的那些)

我等了48小时,想看看是否有延迟,但什么也没出现

当我在模拟器中“强制”崩溃时,它工作正常

我还尝试了
newruntimeexception()
而不是
Crashlytics.getInstance().crash()


我正在调用我的应用程序中包含的库中的
Crashlytics
函数

这里是Firebase的Mike。Crashlytics优先考虑捕获崩溃,而不是编写自定义密钥或日志,因为捕获崩溃更为重要。一旦崩溃发生,我们需要尽快采取行动,以获得设备的确切状态和所有正在运行的线程。崩溃后,情况仍在发生变化,因此为了获得最准确的堆栈跟踪,如果尚未写出密钥或日志,我们将删除该项并捕获崩溃


鉴于您没有看到的日志发生在崩溃发生之前,我希望最接近崩溃的日志会被忽略。使用自定义日志和密钥时,最好尽早记录它们,例如当活动发生更改时。作为旁注,对于非测试崩溃,这通常不是问题,因为您事先不知道崩溃将在应用程序中发生在何处。

重新启动应用程序后是否检查过?为什么不检查Crashlytics控制台而不是firebase?(1)是的,我在重新启动应用程序后检查过。(2) 当使用Crashalytics控制台时,我需要一个API密钥。但当我有API密钥时,我无法在Firebase控制台中获取它。此外,我更喜欢在Firebase控制台中收集“一切”。此外,它还应该在Firebase控制台中工作。我想知道使用Crashlytics.log实现特定功能之前的软件状态。在该函数中,我创建了一个崩溃,以便在控制台中查看日志。崩溃只发生在我没有实际使用的特定手机上(即,我的一名测试人员得到了它)。所以我使用Crashlytics远程“调试”崩溃。也许对我来说,将Crashlytics.getInstance().crash()调用延迟几毫秒就足够了?我在想,在其他线程不那么重要的特定调试场景中,日志可能更重要。因此,使用特定选项总是确保日志已“刷新”不是很好吗?是的,如果您有一个特定的用户需要诊断问题,那么将崩溃延迟10-20毫秒就可以了。目前,没有计划添加一个可配置选项,以确保在崩溃之前写入密钥/日志,但将与团队共享反馈。延迟后,它工作得很好。尽管问题是如果我使用Handler.postdayed()延迟崩溃,堆栈跟踪将不正确,因为它将与稍后执行.crash()的线程相关。请与团队分享反馈。在某些情况下,我当然可以看到需要完全确保日志已刷新。谢谢你的帮助。对非宿命者也是这样吗?如果是这样的话,那么firebase日志作为一种调试方法实际上毫无用处。。。