我已根据Googles说明将Firebase Crashlytics
集成到我的应用中:
https://firebase.google.com/docs/crashlytics/get-started
我的问题是当我尝试进行自定义日志记录时,例如:
Crashlytics.log("testing");
Crashlytics.log(Log.ERROR, TAG, "testing");
Crashlytics.getInstance().crash();
在Firebase Console
中,我得到了崩溃堆栈回调(正如预期的那样)但是只完成了第一次Crashlytics.log
调用中的一个(可能是第一个)日志条目(不过上面那些)。
我等了48小时才知道是否有延迟但没有出现。
当我"强迫"它工作正常模拟器中的崩溃。
我还尝试了new RuntimeException()
而不是Crashlytics.getInstance().crash()
我正在调用我的应用程序中包含的库中的Crashlytics
函数。
答案 0 :(得分:1)
Mike来自Firebase。 Crashlytics优先捕获崩溃而不是编写自定义密钥或日志,因为崩溃对捕获更为重要。一旦崩溃发生,我们需要尽快采取行动,以获得设备的准确状态和所有线程的运行。崩溃后事情仍然在变化和发生,因此要获得最准确的堆栈跟踪,如果还没有写出密钥或日志,我们将删除它并捕获崩溃。
鉴于您在崩溃发生之前没有看到的日志正在发生,我希望忽略最接近崩溃的日志。使用自定义日志和密钥时,最好尽早记录它们,例如当活动发生变化时。作为旁注,对于非测试崩溃,这通常不是问题,因为您事先不知道应用程序中发生崩溃的位置。