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]