记录Crashlytics上的非致命错误

时间:2017-03-29 11:37:03

标签: android crashlytics crashlytics-android

在iOS上,可以使用recordError(error)记录Crashlytics上的非致命错误,但显然此功能不适用于Android。

我找到的唯一选择是使用logException(e)。 我在我的应用程序上管理错误,并且我想在返回特定错误代码时进行记录。所以,在Crashlytics上我希望errorCode引用非致命错误。但是使用 logException(e)方法时,调用 logException(e)的方法会引用错误。

我该怎么做?

3 个答案:

答案 0 :(得分:31)

我为了报告非致命问题而做的是log an exception使用以下代码(记住你可以抛出Exception的任何子类):

Crashlytics.logException(new Exception("My custom error message"));

答案 1 :(得分:7)

您还可以使用下面的Crashlytics功能提供更多信息。

记录非致命事件:

try {
  myMethodThatThrows();
} catch (Exception e) {
  Crashlytics.logException(e);
  // handle your exception here!
}

添加更多消息:

Crashlytics.log(int priority, String tag, String msg);
Crashlytics.log("Higgs-Boson detected! Bailing out...");

您还可以提供一些用户信息:

void Crashlytics.setUserIdentifier(String identifier);
void Crashlytics.setUserName(String name);
void Crashlytics.setUserEmail(String email);

答案 2 :(得分:0)

对于拥有migrated从Fabric-Crashlytics SDK到Firebase-Crashlytics SDK的用户来说,记录非关键异常或在try-catch块中捕获的异常的新方法是-

FirebaseCrashlytics.getInstance().recordException(e)

要将其他数据字段添加到崩溃报告中,您可以在记录此类异常之前先键值对

val crashlytics = FirebaseCrashlytics.getInstance()
crashlytics.setCustomKey("position", 1)
crashlytics.setCustomKey("marker_mode", "hidden")
crashlytics.setCustomKey("direction_shown", true)

要添加一些日志消息,

FirebaseCrashlytics.getInstance().log("Reached breakpoint 2")