Crashlytics 自定义日志何时发送?

When are Crashlytics custom logs sent?

我有一个 BaseActivity 作为我所有活动的父级。我想将 Activity 事件(onCreate()、onStart()、onResume() 等)记录到 Crashlytics,因此当发生崩溃时,我知道用户在做什么以及当前活动的活动.我将以下代码添加到我要记录的所有方法中:

CrashlyticsCore.getInstance().log(getClass().getSimpleName() + ".onResume()");

我想知道这样做是否是个好主意。日志是否仅在发生崩溃时发送?我不会向服务器发送垃圾邮件并为用户产生不必要的网络调用吗?也许有更好的方法来使用 Crashlytics 实现面包屑?

顾名思义,Crashlytics 只会在崩溃后触发报告(并发送日志),并且最多只包含 64kb 的日志历史记录,如 docs 中所述:"To make sure that sending crash reports has the smallest impact on your user’s devices, Crashlytics logs have a maximum size of 64 KB. When a log exceeds 64 KB, the earliest logged values will be dropped in order to maintain this threshold."

如果你问我个人的意见,每隔 onCreateonResume 记录一次既不是好的做法也没有用。 Crashlytics 报告将已经包含堆栈跟踪,让您深入了解错误。

如果您捕获到异常并想要记录这些异常,您可以通过调用 Crashlytics.logException(e); 来解释 here。同样只会存储其中的 8 个:"For any individual app session, only the most recent 8 logged exceptions are stored".