You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ni...@apache.org on 2009/02/17 15:06:39 UTC
svn commit: r745082 -
/commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/AbstractPeriodicLogger.java
Author: nicolas
Date: Tue Feb 17 14:06:39 2009
New Revision: 745082
URL: http://svn.apache.org/viewvc?rev=745082&view=rev
Log:
handle exception during loggin
Modified:
commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/AbstractPeriodicLogger.java
Modified: commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/AbstractPeriodicLogger.java
URL: http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/AbstractPeriodicLogger.java?rev=745082&r1=745081&r2=745082&view=diff
==============================================================================
--- commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/AbstractPeriodicLogger.java (original)
+++ commons/sandbox/monitoring/branches/modules/reporting/src/main/java/org/apache/commons/monitoring/reporting/AbstractPeriodicLogger.java Tue Feb 17 14:06:39 2009
@@ -78,12 +78,30 @@
{
public void run()
{
- Repository observed = observeRepositoryForPeriod();
- log( observed );
+ try
+ {
+ Repository observed = observeRepositoryForPeriod();
+ log( observed );
+ }
+ catch ( Throwable t )
+ {
+ handleLogError( t );
+ }
}
}, delay, period, TimeUnit.MILLISECONDS );
}
+ /**
+ * An error occured during logging. To avoid the scheduler to stop we catch any throwable. By default we just log to
+ * System.err, this method is expected to be overriden.
+ *
+ * @param t error
+ */
+ protected void handleLogError( Throwable t )
+ {
+ t.printStackTrace( System.err );
+ }
+
private Repository observeRepositoryForPeriod()
{
ObserverRepository previous = this.secondary;