Skip to content

Commit b54c675

Browse files
committed
Suppress dots and header in stacktraces where possible
Requested by TelepathicGrunt (and frankly, why didn't I think of this earlier...)
1 parent 6908f14 commit b54c675

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

common/src/main/java/org/embeddedt/modernfix/world/ThreadDumper.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,23 @@
55
import java.lang.management.ThreadMXBean;
66

77
public class ThreadDumper {
8+
private static final String STACKTRACE_TAIL = "\t...\n\n";
89
public static String obtainThreadDump() {
910
ThreadMXBean threadmxbean = ManagementFactory.getThreadMXBean();
1011
ThreadInfo[] athreadinfo = threadmxbean.dumpAllThreads(true, true);
1112
StringBuilder sb = new StringBuilder();
1213
sb.append("Thread Dump:\n");
1314
for(ThreadInfo threadinfo : athreadinfo) {
14-
sb.append(threadinfo);
15+
String tInfo = threadinfo.toString();
1516
StackTraceElement[] elements = threadinfo.getStackTrace();
1617
if(elements.length > 8) {
17-
sb.append("extended trace:\n");
18+
if(tInfo.endsWith(STACKTRACE_TAIL))
19+
tInfo = tInfo.substring(0, tInfo.length() - STACKTRACE_TAIL.length());
20+
else
21+
tInfo = tInfo + "extended trace:\n";
22+
}
23+
sb.append(tInfo);
24+
if(elements.length > 8) {
1825
for(int i = 8; i < elements.length; i++) {
1926
sb.append("\tat ");
2027
sb.append(elements[i]);

0 commit comments

Comments
 (0)