|
From: <fg...@us...> - 2008-03-11 15:24:18
|
Revision: 731
http://openutils.svn.sourceforge.net/openutils/?rev=731&view=rev
Author: fgiust
Date: 2008-03-11 08:24:20 -0700 (Tue, 11 Mar 2008)
Log Message:
-----------
Make it.openutils.log4j.AlternateSMTPAppender working properly also when no timeout
Modified Paths:
--------------
trunk/openutils-log4j/src/main/java/it/openutils/log4j/AlternateSMTPAppender.java
trunk/openutils-log4j/src/site/changes/changes.xml
Modified: trunk/openutils-log4j/src/main/java/it/openutils/log4j/AlternateSMTPAppender.java
===================================================================
--- trunk/openutils-log4j/src/main/java/it/openutils/log4j/AlternateSMTPAppender.java 2008-03-06 09:27:01 UTC (rev 730)
+++ trunk/openutils-log4j/src/main/java/it/openutils/log4j/AlternateSMTPAppender.java 2008-03-11 15:24:20 UTC (rev 731)
@@ -59,7 +59,7 @@
* <li>it will send a mail for every single message (bufferSize is not supported), but it will aggregate any identical
* log event received during the timeout. Identical events are log with same message and same stack trace</li>
* </ul>
- *
+ *
* <pre>
* <appender name="mail" class="it.openutils.log4j.AlternateSMTPAppender">
* <param name="Threshold" value="ERROR" />
@@ -80,7 +80,7 @@
* </layout>
* </appender>
* </pre>
- *
+ *
* @author Fabrizio Giustina
* @version $Id: $
*/
@@ -211,39 +211,48 @@
LoggingEventAggregator leg = new LoggingEventAggregator(event);
- events.put(leg, leg);
-
if (evaluator.isTriggeringEvent(event))
{
if (timeout == 0)
{
// send immediately
- sendBuffer(events.values());
+ synchronized (events)
+ {
+ Collection<LoggingEventAggregator> le = new ArrayList<LoggingEventAggregator>();
+ le.add(leg);
+ sendBuffer(le);
+ }
return;
}
- if (timerTask == null)
+ else
{
+ events.put(leg, leg);
- timerTask = new TimerTask()
+ if (timerTask == null)
+
{
- @Override
- public void run()
+ timerTask = new TimerTask()
{
- Collection<LoggingEventAggregator> le;
- synchronized (events)
+
+ @Override
+ public void run()
{
- le = new ArrayList<LoggingEventAggregator>(events.values());
- events.clear();
- timerTask = null;
+ Collection<LoggingEventAggregator> le;
+ synchronized (events)
+ {
+ le = new ArrayList<LoggingEventAggregator>(events.values());
+ events.clear();
+ timerTask = null;
+ }
+
+ sendBuffer(le);
}
+ };
- sendBuffer(le);
- }
- };
+ this.timer.schedule(this.timerTask, this.timeout * 1000L);
- this.timer.schedule(this.timerTask, this.timeout * 1000L);
-
+ }
}
}
}
Modified: trunk/openutils-log4j/src/site/changes/changes.xml
===================================================================
--- trunk/openutils-log4j/src/site/changes/changes.xml 2008-03-06 09:27:01 UTC (rev 730)
+++ trunk/openutils-log4j/src/site/changes/changes.xml 2008-03-11 15:24:20 UTC (rev 731)
@@ -8,9 +8,13 @@
<author email="fgiust(at)users.sourceforge.net">Fabrizio Giustina</author>
</properties>
<body>
+ <release version="2.0.1" date="2008-03-11" description="2.0.1">
+ <action type="add" dev="fgiust"> Make it.openutils.log4j.AlternateSMTPAppender working properly also when no timeout
+ is set (withot message aggregation).</action>
+ <action type="update" dev="fgiust">commons-lang dependency added</action>
+ </release>
<release version="2.0" date="2008-02-20" description="2.0.0">
- <action type="add" dev="fgiust">
- new it.openutils.log4j.AlternateSMTPAppender that aggregates similar log messages.
+ <action type="add" dev="fgiust"> new it.openutils.log4j.AlternateSMTPAppender that aggregates similar log messages.
</action>
<action type="update" dev="fgiust">commons-lang dependency added</action>
</release>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|