所以我正在使用本教程https://firebase.google.com/docs/crashlytics/customize-crash-reports在我的Android应用中启用crashlytics崩溃报告。我注意到使用以下代码,自定义崩溃从未出现在我的Firebase控制台上:
Crashlytics.log(Log.DEBUG, "tag", "message");
设置我的UserIdentifier后。 但是当我尝试像这样强制崩溃时:
Crashlytics.getInstance().crash(); // Force a crash
它出现在我的仪表板上。那么为什么我的“自定义崩溃”丢失了?
当我切换回自定义日志记录时,它将永远无法工作。我还尝试使用LogException,但效果不佳。
Crashlytics.log(Log.ASSERT, TAG, Log.getStackTraceString(e));
Crashlytics.logException(e);
请注意,我正在使用的是Firebase控制台。
答案 0 :(得分:0)
来自Firebase的Mike。
Crashlytics.log(Log.DEBUG, "tag", "message");
会将信息记录到崩溃中,但是如果崩溃或非致命异常在应用程序的同一会话中发生,则仅发送和处理日志。
写入日志是异步完成的,我们将重点放在捕获崩溃或非致命异常上,而不是将日志写入磁盘。如果该日志恰好在崩溃或非致命性之前发生,如本例所示:
Crashlytics.log(Log.ASSERT, TAG, Log.getStackTraceString(e));
Crashlytics.logException(e);
在异常发生之前,我们可能没有时间写日志。在这种情况下,我们会优先考虑捕获异常,因为认为获取异常或崩溃比记录日志更为重要。