将java.lang.Thread.getStackTrace()
转换为字符串的最简单方法是什么?
有很多方法可以将Throwable
转换为字符串,但我需要获得特定线程对象的堆栈跟踪。
答案 0 :(得分:2)
你可以这样做
StringBuilder sb = new StringBuilder();
for(StackTraceElement ste: Thread.getStackTrace())
sb.append("\tat ").append(ste).append("\n");
String trace = sb.toString();
答案 1 :(得分:0)
Apache Commons提供了异常实用程序来帮助解决此类问题。这些实用程序中包含一个接受Throwable对象并返回String的方法。您应该能够在线程上创建一个Throwable
对象,将其传递给此函数,并根据需要使用返回。
我所指的方法可以在这里找到:Apache Commons Exception Utilities - getStackTrace