34

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

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

我怎样才能做到这一点?

4

3 回答 3

46

为了报告非致命问题,我所做的是使用以下代码记录异常(请记住,您可以抛出 的任何子类Exception):

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

于 2017-05-26T20:58:01.367 回答
18

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

 <strong>记录非致命事件:

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

 <strong>添加更多消息:

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);
于 2019-02-01T09:44:24.310 回答
11

对于那些从 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")
于 2020-11-24T05:24:36.980 回答