Author: schor Date: Fri Jan 13 15:04:15 2017 New Revision: 1778608 URL: http://svn.apache.org/viewvc?rev=1778608&view=rev Log: [UIMA-4674] slight improvement to dumping callers for debugging
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java?rev=1778608&r1=1778607&r2=1778608&view=diff ============================================================================== --- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java (original) +++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java Fri Jan 13 15:04:15 2017 @@ -60,12 +60,15 @@ public class Misc { * @return x called by: y ... */ public static StringBuilder getCallers(final int s, final int n) { - StackTraceElement[] e = Thread.currentThread().getStackTrace(); + return dumpCallers(Thread.currentThread().getStackTrace(), s, n); + } + + public static StringBuilder dumpCallers(final StackTraceElement[] e, final int s, final int n) { StringBuilder sb = new StringBuilder(); for (int i = s + 2; i < s + n + 3; i++) { if (i >= e.length) break; if (i != s + 2) { - sb.append(" called_by: "); + sb.append("\n called_by: "); } sb.append(formatcaller(e[i])); } @@ -73,11 +76,11 @@ public class Misc { } /** - * @return the name of the caller in the stack + * @return the name of the caller in the stack and their caller */ public static String getCaller() { StackTraceElement[] e = Thread.currentThread().getStackTrace(); - return formatcaller(e[4]) + "called by: " + formatcaller(e[5]); + return formatcaller(e[5]) + " => " + formatcaller(e[4]); } private static String formatcaller(StackTraceElement e) {