Crashlytics.log("") 在哪里;走?

Raf*_*ima 5 android firebase crashlytics crashlytics-android firebase-crash-reporting

我正在尝试使用 firebase+crashlytics 设置我的应用程序,以获得更好的错误仪表板。

所有 firebase 的东西都已经在工作,我可以访问这些功能

我使用以下方法测试了 crashlytics: Crashlytics.getInstance().crash(); // Force a crash
并且我能够在仪表板上看到堆栈跟踪(在 firebase 内)

但我正在尝试记录非致命消息,例如:
Crashlytics.log("test");

它没有出现在我按照整个说明进行的任何地方:https :
//firebase.google.com/docs/crashlytics/customize-crash-reports

仍然没有找到任何带有“测试”消息的仪表板

它去哪里?我错过了什么?

Jak*_*eam 6

将非调试错误(例如您的测试消息)日志发送到本地 Crashlytics,但在应用程序重新启动之前不会上传这些异常。

正如文档所述:

Crashlytics 将记录的异常一起批处理,并在应用程序下次启动时发送它们。

这大概是由于主要的 Crashlytics 功能(报告崩溃)以相同的方式工作,并且非致命错误是使用相同代码流的次要问题。

虽然这很不幸,但有许多第三方日志整理服务可以处理非致命错误。

注意:我知道您在 Crashlytics 的评论中收到了答案,我正在为未来的访问者提供更全面的答案。


Bal*_*ali 5

这是一个老问题,无论如何我想分享使用Crashlytics.log(msg);这些日志记录的消息会发生什么情况这些日志不会立即显示在仪表板上。Crashlytics 存储使用方法记录的所有记录消息log(msg),并在发生新的崩溃或异常时将其上传到服务器。

您可以在 Firebase 控制台的日志部分下看到这些消息,如下图所示

Firebase Crashlytics 仪表板

另一件事是,如果您想记录异常,还有另一种方法Crashlytics.logException(exception)


Raf*_*ima 0

Crashlytics 不是为开发日志记录/调试而设计的,它是为了在运行时聚集来自不同用户的数百/数千条日志而设计的,这可能会导致记录日志消息的时间与您真正能够在仪表板使其无法用于开发调试。

如果您想使用 Crashlytics 来跟踪代码工作流程并在开发过程中进行调试,则需要使用此答案中的技巧。

/sf/answers/4853820261/