Format exception message to contain the whole stacktrace in Google Analytics for Android?

android, google-analytics, stack-trace

Solution

The method below combines the entire stack trace into a single comma separated line, which may help in case Analytics returns just the first line. But there still may be a length limit so it may be prudent to do filtering to eliminate items you do not need (see comment)

 public String getCombinedStackTrace(Throwable aThrowable) {

    final StringBuilder result = new StringBuilder();
    result.append(aThrowable.toString());
    result.append(',');

    String oneElement;

    for (StackTraceElement element : aThrowable.getStackTrace() ) {
        // you can do some filtering here, selecting only the elements you need
        oneElement = element.toString();
        result.append( oneElement );
        result.append( ",");
    }
    return result.toString();
}

I second Nikolay's comment about using an error reporting library. I found it to be tremendously helpful.

Problem

I would like to have the whole stacktrace in Google Analytic's report's for my mobile application. I wrote class that print's the stacktrace and put's it into string, but it doesn't work. My custom `ExceptionParser`: ``` @Override public String getDescription(String threadName, Throwable throwable) { return threadName + " " + getStackTrace(throwable); } private String getStackTrace(Throwable throwable) { final Writer result = new StringWriter(); final PrintWriter printWriter = new PrintWriter(result); throwable.printStackTrace(printWriter); return result.toString(); } ``` And I set it like this: ``` EasyTracker.getTracker().setExceptionParser(new StacktraceExceptionParser()); ```

Original source

Related problems