我想在 crashlytics 异常记录期间另外发送一个对象转储。因此,例如,假设发生了一个 nullPointerException。我想另外添加一个大对象,这将是我的模型,并将其包含在 crashlytics 的堆栈跟踪区域中。这样,当我看到堆栈跟踪时,我还可以从转储中查看模型信息。除了通常的 crashlytics 日志记录之外,我如何发送这些信息?这是我到目前为止所拥有的:
try{
//....
throw new NullPointerException("my cool msg");
}
catch(Exception e){
Crashlytics.setInt("priority", 4);
Crashlytics.setString("tag", "mytag");
Crashlytics.setString("message", Model.toString());
Crashlytics.logException(e);
}
现在发生的是什么都没有出现。但是如果我注释掉“消息”的 setString,那么我会得到一个带有消息“我的酷消息”的堆栈跟踪。
更新:我什至尝试过 Crashlytics.log(Model.toString()); 但这在 crashlytics 上没有显示任何内容。我正在从 onCreate 中的 Application 子类设置 crashlytics,如下所示: Fabric.with(this, new Crashlytics());
从 cashlytics 文档中我发现了这个:
为确保发送崩溃报告对用户设备的影响最小,Crashlytics 日志的最大大小为 64 KB。当日志超过 64 KB 时,将删除最早记录的值以保持此阈值。
这可能是我的问题。现在检查我的尺码...
调整有效载荷的大小不起作用。我制作了有效载荷 9 个字符,但它仍然没有出现。
更新:
让我们重新开始,但更简单。为什么以下对我不起作用?
try{
//....
throw new NullPointerException("my cool msg");
}
catch(Exception e){
Crashlytics.setInt("priority", 4);
Crashlytics.setString("tag", "mytag");
Crashlytics.setString("message", "");
Crashlytics.logException(e);
}
这里发生的事情确实是一个堆栈跟踪出现在 crasylytics 仪表板中,上面写着“我的酷消息”,但没有任何关于优先级、标签或消息的内容。只有堆栈跟踪出现。那里不应该有这些标题或其他东西的条目吗?