首页 > 解决方案 > 如何在Android中登录而不会崩溃?

问题描述

我已经集成了用于崩溃捕获的 Fabric。但在特殊情况下,我只需要记录有关织物的一些详细信息。但是我没有找到任何方法来添加日志而不会崩溃。每次我需要崩溃应用程序才能查看日志。

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

如果我只是添加日志,我没有在 Fabric 上看到日志。我需要明确抛出异常。

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

标签: androidloggingerror-handlingcrashlyticsgoogle-fabric

解决方案


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

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


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

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

在您的应用级别 gradle 中:

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 即将关闭,您很快将不得不迁移到 Google Crashlytics 。


推荐阅读