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

Where does Crashlytics.log(""); go?

我正在尝试使用 firebase+crashlytics 设置我的应用程序以获得更好的错误信息中心。

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

我测试了 crashlytics: Crashlytics.getInstance().crash(); // Force a crash
而且我能够在我的仪表板上看到堆栈跟踪(在 firebase 内)

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

而且它没有出现在任何地方 我遵循了整个说明:
https://firebase.google.com/docs/crashlytics/customize-crash-reports

仍然找不到包含 "test" 条消息的任何仪表板

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

如下所述link https://support.crashlytics.com/knowledgebase/articles/120066-how-do-i-use-logging

如果您查看特定的崩溃本身,您可以在 Crashlytics 仪表板上看到此崩溃。 向您的应用添加自定义日志记录的推荐方法是:

Crashlytics.log(int priority, String tag, String msg)

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

the documentation所述:

Crashlytics batches logged exceptions together and sends them the next time the app launches.

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

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

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

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

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

还有一点,如果你想记录异常,还有另一种方法 Crashlytics.logException(exception)

Crashlytics 不是为开发 logging/debug 而设计的,它是在运行时对来自不同用户的日志进行集群 hundreds/thousands,这可能会导致记录日志消息的时间和您将真正能够在仪表板上看到它们,使其无法用于开发调试。

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