Используйте следующий фрагмент кода:
Writer writer = new StringWriter();
exception.printStackTrace(new PrintWriter(writer));
String s = writer.toString();
Раньше был способ извлечь трассировку стека исключений в строку в одну строку с помощью вызова Log.getStackTraceString
.Но, начиная с Android 4.0 (API 14), этот метод больше не является надежным, так как возвращает пустую строку для UnknownHostException
(подробнее см. Android , выпуск # 21436 ): «чтобы уменьшить количество журналов, которые приложения делают в условиях отсутствия ошибок, когда сеть недоступна», инженеры Android сделали IMHO сомнительное решение изменить метод Log.getStackTraceString
).
Таким образом, лучше использовать код, который я предоставил в начале этого поста.