ceki 2004/12/16 10:08:49
Modified: src/java/org/apache/log4j/net SMTPAppender.java
Log:
SMTPAppender now uses its logger to report errors. It moves away from using a
generic errorHandler.
The new pattern for hadnling error is:
in activateOptions() error conditions are logged and an
IllegalStateException is thrown.
in append() method error conditions are checked but no logging occurs.
Revision Changes Path
1.39 +19 -16
logging-log4j/src/java/org/apache/log4j/net/SMTPAppender.java
Index: SMTPAppender.java
===================================================================
RCS file:
/home/cvs/logging-log4j/src/java/org/apache/log4j/net/SMTPAppender.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- SMTPAppender.java 14 Dec 2004 18:47:35 -0000 1.38
+++ SMTPAppender.java 16 Dec 2004 18:08:09 -0000 1.39
@@ -21,7 +21,6 @@
import org.apache.log4j.Level;
import org.apache.log4j.helpers.CyclicBuffer;
import org.apache.log4j.helpers.OptionConverter;
-import org.apache.log4j.spi.ErrorCode;
import org.apache.log4j.spi.LoggingEvent;
import org.apache.log4j.spi.TriggeringEventEvaluator;
@@ -64,7 +63,8 @@
protected CyclicBuffer cb = new CyclicBuffer(bufferSize);
protected MimeMessage msg;
protected TriggeringEventEvaluator evaluator;
-
+
+
/**
The default constructor will instantiate the appender with a
[EMAIL PROTECTED] TriggeringEventEvaluator} that will trigger on events
with
@@ -110,6 +110,18 @@
} catch (MessagingException e) {
getLogger().error("Could not activate SMTPAppender options.", e);
}
+
+ if (this.evaluator == null) {
+ String errMsg = "No TriggeringEventEvaluator is set for appender
["+getName()+"].";
+ getLogger().error(errMsg);
+ throw new IllegalStateException(errMsg);
+ }
+
+ if (this.layout == null) {
+ String errMsg = "No layout set for appender named [" + name + "].";
+ getLogger().error(errMsg);
+ throw new IllegalStateException(errMsg);
+ }
}
/**
@@ -143,21 +155,14 @@
value <code>false</code> is returned. */
protected boolean checkEntryConditions() {
if (this.msg == null) {
- errorHandler.error("Message object not configured.");
-
return false;
}
if (this.evaluator == null) {
- errorHandler.error(
- "No TriggeringEventEvaluator is set for appender [" + name + "].");
-
return false;
}
if (this.layout == null) {
- errorHandler.error("No layout set for appender named [" + name + "].");
-
return false;
}
@@ -172,9 +177,8 @@
try {
return new InternetAddress(addressStr);
} catch (AddressException e) {
- errorHandler.error(
- "Could not parse address [" + addressStr + "].", e,
- ErrorCode.ADDRESS_PARSE_FAILURE);
+ getLogger().error(
+ "Could not parse address [" + addressStr + "].", e);
return null;
}
@@ -184,9 +188,8 @@
try {
return InternetAddress.parse(addressStr, true);
} catch (AddressException e) {
- errorHandler.error(
- "Could not parse address [" + addressStr + "].", e,
- ErrorCode.ADDRESS_PARSE_FAILURE);
+ getLogger().error(
+ "Could not parse address [" + addressStr + "].", e);
return null;
}
@@ -256,7 +259,7 @@
msg.setSentDate(new Date());
Transport.send(msg);
} catch (Exception e) {
- errorHandler.error("Error occured while sending e-mail notification.",
e, ErrorCode.GENERIC_FAILURE);
+ getLogger().error("Error occured while sending e-mail notification.",
e);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]