【问题标题】:Logging using Crashlytics使用 Crashlytics 进行日志记录
【发布时间】:2014-03-15 22:01:44
【问题描述】:

我正在使用多个Crashlytics.log() 命令,例如:

Crashlytics.log("This is message 1");
Crashlytics.log("This is message 2"); 

但是当仪表板发生崩溃时,我只能看到“这是消息 1”,而不是“这是消息 2”。 Crashlytics 日志是否只显示第一个日志而不显示之后的任何后续日志,还是我做错了什么?如何使用多个Crashlytics.log() 命令。

【问题讨论】:

标签: android logging crashlytics


【解决方案1】:

日志消息将被保存异常。所以Crashlytics.log("1"); 不会毫无例外地做任何事情。

你应该这样开火:

Crashlytics.log(Log.ERROR, "YourTAG", "YourMessage");
Crashlytics.logException(new Throwable("YourERROR"));

【讨论】:

  • 我的理解是一样的。每个异常只能添加一个日志。我认为它就像一个特殊的“大”键,可以放入更大的字符串。
【解决方案2】:

我正在使用 Crashlytics 日志系统,我可以看到多个日志。事实上,我可以看到我在崩溃点之前添加到应用程序的所有日志。

我的猜测是,您的应用在“消息 2”日志行之前发生了崩溃。

【讨论】:

    【解决方案3】:

    Crashlytics 似乎正在异步写入日志消息。因此,在使用 Crashlytics.log() 时,您总是会遇到竞态条件。

    根据您在崩溃前的短暂(和丑陋)睡眠可能会解决此问题:

    Crashlytics.log("1");
    Crashlytics.log("2");
    try {
        Thread.sleep(1000);
    } catch (InterruptedException e) {
        // NOP: Ignored!
    }
    throw new RuntimeException("Failed directly after logging.");
    

    或者您可以使用自定义键:

    Crashlytics.setString("SOME_IMPORTANT_VALUE", "1");
    

    【讨论】:

    • 在可能失败的每一行代码之前等待并不是一个很好的解决方案。我已经向 Crashlytics 提交了错误报告:当调用崩溃处理程序时,即使他们的异步日志记录也没有理由无法刷新缓冲区(我有同样的问题)。
    • @Pierre-LucPaour:对此问题有何回应?我似乎得到了同样的结果。
    • Crashlytics 已经意识到了这个问题,但他们还没有解决它,不幸的是,它在他们的优先级列表中似乎并不是很高。如果您直接与他们联系,他们会非常积极,这可能有助于提高优先级。
    • @Pierre-LucPaour 您的错误报告是私密的吗?你能不能分享一下链接吗?
    • 这是一封给社区经理 support@crashlytics.com 的私人电子邮件
    【解决方案4】:

    我想向其他路人添加一条注释,即额外的日志只能在每个会话的基础上查看。在给定问题中,单击View All Sessions 按钮,您将看到有关密钥和日志的其他信息。 Fabric 持有的所有日志都显示在此处,因此您可以在异常发生之前多次记录。我花了很长时间才意识到这一点。

    正如其他人已经注意到并记录在案的那样,Crashlytics 可能不会发送日志报告,直到通过 logException 记录 throwable。如果日志没有出现在该屏幕上,请记住这一点。

    【讨论】:

      【解决方案5】:

      根据Crashlytics docs

      为了确保发送崩溃报告对 在您用户的设备上,Crashlytics 日志的最大大小为 64 KB。 当日志超过 64 KB 时,最早记录的值将被丢弃 为了保持这个阈值。

      如果第二条消息加上第一条消息超过 64KB,您的第一条消息将被丢弃。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-11
        • 2011-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多