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 をコメント アウトすると、「my cool msg」というメッセージを含むスタック トレースが取得されます。
更新: 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ダッシュボードに表示されることですが、優先度、タグ、またはメッセージについては何もありません. スタックトレースのみが表示されます。これらの見出しなどのエントリがそこにあるはずはありませんか?