如何使用自定义属性拆分/取消组合Crashlytics非致命异常报告?

时间:2017-09-27 07:06:13

标签: android crash-reports crashlytics google-fabric crashlytics-android

我发送到与服务器同步时遇到的Crashlytics错误。这些错误主要包含有关不同数据冲突的信息。所有错误都包含在一个异常类中,该类具有apiErrorCode之类的字段。我不能为每个错误创建单独的异常类,因为它们有dosens。因此,我使用Crashlytics.logException()发送的所有此类异常都会在仪表板上分组到一个报告中。所以我必须去“所有会议”并在那里逐一调查错误,这是不方便的。此外,我无法关闭并锁定一些我不希望在报告中看到的错误类型(如某些预期的服务器错误)。这是手动设置Crashlytics分组策略的方法(在我的情况下基于apiErrorCode)吗?

2 个答案:

答案 0 :(得分:2)

如果您来自一个堆栈跟踪的异常类型不同,则可以通过在顶部添加一个自定义元素来更改堆栈跟踪:

public class CustomException extends Exception {

    public CustomException(String message, int lineNumber) {
        super(message);
        StackTraceElement[] stackTrace = getStackTrace();
        StackTraceElement[] newStackTrace = new StackTraceElement[stackTrace.length + 1];
        System.arraycopy(stackTrace, 0, newStackTrace, 1, stackTrace.length);
        newStackTrace[0] = new StackTraceElement("className", "methodName", "fileName", lineNumber);
        setStackTrace(newStackTrace);
    }
}

答案 1 :(得分:1)

Mike来自Fabric。没有办法覆盖我们对记录的错误所做的分组。我建议特定于异常类型和消息而不是使用单个异常类,尽管这会增加代码复杂性。