在 Crashlytics 上记录非致命错误

问题描述 投票:0回答:5

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

我发现的唯一替代方法是使用 logException(e)。 我管理应用程序上的错误,并且希望在返回具体错误代码时进行记录。因此,在 Crashlytics 上,我希望 errorCode 引用非致命错误。但是使用 logException(e) 方法,错误将由调用 logException(e) 的方法引用。

我怎样才能做到这一点?

android crashlytics crashlytics-android
5个回答
49
投票

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

Exception
的任何子类):

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


22
投票

对于那些已经从 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")
    

18
投票
您还可以使用 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
投票
根据最新版本的 Crashlytics

library 2.9.2 .. 您可以通过此代码记录非致命异常

Firebase.crashlytics.recordException(e)
    

0
投票
如果你想在你的应用程序中记录非致命错误日志 就我而言,我用它来记录来自服务器的除 200 之外的所有请求。 你也可以这样使用。 为此,您可以在完成所有配置后使用它

FirebaseCrashlytics.instance.log('Here is My custom Error for it ');
    
© www.soinside.com 2019 - 2024. All rights reserved.