在iOS上,可以使用recordError(error)记录Crashlytics上的非致命错误,但显然此功能不适用于Android。
我找到的唯一选择是使用logException(e)。 我在我的应用程序上管理错误,并且我想在返回特定错误代码时进行记录。所以,在Crashlytics上我希望errorCode引用非致命错误。但是使用 logException(e)方法时,调用 logException(e)的方法会引用错误。
我该怎么做?
答案 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")