所以我正在使用本教程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控制台 .
1 回答
Mike来自Firebase .
Crashlytics.log(Log.DEBUG, "tag", "message");
会将信息记录到崩溃中,但日志只会在应用程序的同一会话中发送和处理 if a crash or non-fatal exception happens .编写日志是异步完成的,我们专注于通过将日志写入磁盘来捕获崩溃或非致命异常 . 如果日志发生在崩溃之前或非致命之类,如下例所示:
Crashlytics.log(Log.ASSERT, TAG, Log.getStackTraceString(e)); Crashlytics.logException(e);
在异常发生之前,我们可能没有时间写日志 . 在这种情况下,我们优先捕获异常,认为获取异常或崩溃比日志更重要 .