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() );
}
/**