You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by me...@apache.org on 2009/04/08 08:42:11 UTC

svn commit: r763121 - /incubator/jspwiki/trunk/src/java/org/apache/wiki/util/WatchDog.java

Author: metskem
Date: Wed Apr  8 06:42:10 2009
New Revision: 763121

URL: http://svn.apache.org/viewvc?rev=763121&view=rev
Log:
ported 2.8 WatchDog dumpStacktrace code 

Modified:
    incubator/jspwiki/trunk/src/java/org/apache/wiki/util/WatchDog.java

Modified: incubator/jspwiki/trunk/src/java/org/apache/wiki/util/WatchDog.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/java/org/apache/wiki/util/WatchDog.java?rev=763121&r1=763120&r2=763121&view=diff
==============================================================================
--- incubator/jspwiki/trunk/src/java/org/apache/wiki/util/WatchDog.java (original)
+++ incubator/jspwiki/trunk/src/java/org/apache/wiki/util/WatchDog.java Wed Apr  8 06:42:10 2009
@@ -318,33 +318,41 @@
         }
     }
 
+
+    /**
+     *  Dumps the stack traces as DEBUG level events.
+     */
     private void dumpStackTraceForWatchable()
     {
+        if( !log.isDebugEnabled() ) return;
+        
         Map<Thread, StackTraceElement[]> stackTraces = Thread.getAllStackTraces();
         Set<Thread> threads = stackTraces.keySet();
         Iterator<Thread> threadIterator = threads.iterator();
+        StringBuilder stacktrace = new StringBuilder();
+
         while ( threadIterator.hasNext() )
         {
-            Thread t = (Thread) threadIterator.next();
-            if( t.getName().equals( m_watchable.getName() ) || log.isInfoEnabled() )
+            Thread t = threadIterator.next();
+            if( t.getName().equals( m_watchable.getName() ) )
             {
                 if( t.getName().equals( m_watchable.getName() ) )
                 {
-                    log.error( "dumping stacktrace for too long running thread : " + t );
+                    stacktrace.append( "dumping stacktrace for too long running thread : " + t );
                 }
                 else
                 {
-                    log.error( "dumping stacktrace for other running thread : " + t );
+                    stacktrace.append( "dumping stacktrace for other running thread : " + t );
                 }
                 StackTraceElement[] ste = stackTraces.get( t );
-                StringBuilder stacktrace = new StringBuilder( "stacktrace follows" );
                 for( int i = 0; i < ste.length; i++ )
                 {
                     stacktrace.append( "\n" + ste[i] );
                 }
-                log.error( stacktrace.toString() );
             }
         }
+        
+        log.debug( stacktrace.toString() );
     }
 
     /**