22

Crashlytics.log()たとえば、次のような複数のコマンドを使用しています。

Crashlytics.log("This is message 1");
Crashlytics.log("This is message 2"); 

しかし、ダッシュボードでクラッシュが発生した場合、「This is message 1」のみが表示され、「This is message 2」は表示されません。Crashlytics ログは最初のログのみを表示し、その後のログは表示しませんか、それとも何か問題がありますか? Crashlytics.log()複数のコマンドを使用するにはどうすればよいですか。

4

5 に答える 5

2

Crashlytics がログ メッセージを非同期的に書き込んでいるようです。したがって、Crashlytics.log() を使用すると、常に競合状態になります。

何をしているかによっては、クラッシュする前に短い (そして醜い) スリープを行うと、この問題が解決する場合があります。

Crashlytics.log("1");
Crashlytics.log("2");
try {
    Thread.sleep(1000);
} catch (InterruptedException e) {
    // NOP: Ignored!
}
throw new RuntimeException("Failed directly after logging.");

または、代わりにカスタム キーを使用できます。

Crashlytics.setString("SOME_IMPORTANT_VALUE", "1");
于 2014-09-01T15:39:35.653 に答える
2

I am using the Crashlytics log system and I can see more that one log. In fact I can see all the logs that I've added to the app before the crash point.

My guess is that your app has a crash before your "message 2" log line.

于 2014-03-19T17:37:15.813 に答える
2

他の通行人に、余分なログはセッションごとにのみ表示できるというメモを追加したいと思います。特定の問題でView All Sessionsボタンをクリックすると、キーとログの追加情報が表示されます。ファブリックが保持するすべてのログがここに表示されるため、例外の前に何度もログを記録できます。これに気付くのに驚くほど時間がかかりました。

他の人が気づき、文書化されているように、Crashlytics は、throwable が 経由でログに記録されるまで、ログ レポートを送信しない場合がありますlogException。その画面にログが表示されない場合は注意してください。

于 2017-08-10T02:30:49.017 に答える