如何在Android中登录而不会崩溃?

时间:2019-06-26 06:01:28

标签: android logging error-handling crashlytics google-fabric

我已经集成了用于捕获故障的Fabric。但是在特殊情况下,我只需要在结构上记录一些细节。但是我没有找到任何方法来添加日志而不会崩溃。每次我需要使应用程序崩溃以查看日志时。

Crashlytics.log(subStr);    
Crashlytics.logException(new RuntimeException("Exception"));

如果我仅添加日志,则在Fabric上看不到日志。我需要明确抛出异常。

我正在寻找一种可以记录详细信息的方法?我不希望崩溃日志。

2 个答案:

答案 0 :(得分:1)

Fabric crashlytics不会捕获“非异常”。

仅当调用异常时,它才会出现在控制台中,无论它是致命的还是非致命的。


如果您想要记录事件,则可以使用任何Answers

要使用Answers,您首先必须像这样实现它:

在您的应用级别中:

implementation('com.crashlytics.sdk.android:answers:1.4.7@aar') {
    transitive = true;
}

在您的清单中(由于您已经在使用Crashlytics,因此我认为它已经存在了)

<meta-data
    android:name="io.fabric.ApiKey"
    android:value="3323d86155070b69e4558c773e7bdb6dc495cd9f"
/>

然后在MainActivity或Application类中,应初始化Answers,如下所示:

Fabric.with(this, new Answers());

每当您要记录某些内容时,都可以像以下示例一样对其进行调用:

Answers.getInstance().logCustom(new CustomEvent("Video Played")
        .putCustomAttribute("Category", "Comedy")
        .putCustomAttribute("Length", 350));

随后,该日志将显示在您的Fabrics控制台中。


请务必注意,您很快将不得不以Fabric is closing.的身份转到Google Crashlytics。

答案 1 :(得分:0)

Crashlytics.getInstance().core.logException(new RuntimeException("Exception"));

尝试一下。我登录到Fabric时没有崩溃