You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2017/01/13 15:04:16 UTC

svn commit: r1778608 - /uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/internal/util/Misc.java

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) {