我有一个BaseActivity,我将其用作所有活动的父级。我想将事件事件(onCreate(),onStart(),onResume()等)记录到Crashlytics,因此当崩溃发生时,我知道用户正在做什么以及当前活动的活动。我将以下代码添加到了我要记录的所有方法中:
CrashlyticsCore.getInstance().log(getClass().getSimpleName() + ".onResume()");
我想知道这样做是否是个好主意。是否仅在发生崩溃时发送日志?我不会垃圾邮件服务器并为用户产生不必要的网络呼叫吗?也许有更好的方法用Crashlytics实现面包屑?
答案 0 :(得分:2)
顾名思义,Crashlytics只会在崩溃后触发报告(并发送日志),并且只会包含最多64kb的日志历史记录,如docs中所述:"至确保发送崩溃报告对用户设备的影响最小,Crashlytics日志的最大大小为64 KB。当日志超过64 KB时,将删除最早记录的值以保持此阈值。"
如果您提出我的个人意见,记录每个onCreate
,onResume
并不是一个好习惯或有用的。 Crashlytics报告已经包含堆栈跟踪,可让您深入了解错误。
如果您已捕获异常并希望记录这些异常,则可以通过调用Crashlytics.logException(e);
来解释here。同样只会存储其中的8个:"对于任何单个应用程序会话,仅存储最近的8个记录的异常"。