Java 线程堆栈跟踪到字符串

Java 线程堆栈跟踪到字符串,java,Java,将java.lang.Thread.getStackTrace()转换为字符串的最简单方法是什么 有很多方法可以将可丢弃的转换为字符串,但我需要获取特定线程对象的堆栈跟踪您可以这样做 StringBuilder sb = new StringBuilder(); for(StackTraceElement ste: Thread.getStackTrace()) sb.append("\tat ").append(ste).append("\n"); String trace = sb.

java.lang.Thread.getStackTrace()转换为字符串的最简单方法是什么

有很多方法可以将可丢弃的
转换为字符串,但我需要获取特定线程对象的堆栈跟踪

您可以这样做

StringBuilder sb = new StringBuilder();
for(StackTraceElement ste: Thread.getStackTrace())
    sb.append("\tat ").append(ste).append("\n");
String trace = sb.toString();

ApacheCommons提供了异常实用程序来帮助解决此类问题。在这些实用程序中有一个方法,它接受一个Throwable对象并返回一个字符串。您应该能够在线程上创建一个
Throwable
对象,将其传递给此函数,并根据需要使用return

我所指的方法可以在这里找到: