我正在使用多个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()
命令。
我正在使用多个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()
命令。
异常将保存日志消息。因此,Crashlytics.log("1");
如果没有异常,则不会执行任何操作。
您应该这样触发:
Crashlytics.log(Log.ERROR, "YourTAG", "YourMessage");
Crashlytics.logException(new Throwable("YourERROR"));
看起来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");
我正在使用Crashlytics日志系统,可以看到不止一条日志。实际上,在崩溃点之前,我可以看到我添加到应用程序中的所有日志。
我的猜测是,在“message 2”日志行之前,您的应用程序已经崩溃了。