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]

Reply via email to