You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ce...@apache.org on 2005/02/18 21:46:58 UTC

cvs commit: logging-log4j/tests/src/java/org/apache/log4j/net SMTPAppenderTest.java

ceki        2005/02/18 12:46:58

  Modified:    tests/src/java/org/apache/log4j WriterAppenderTest.java
                        FileAppenderTest.java ConsoleAppenderTest.java
                        AbstractAppenderTest.java
               src/java/org/apache/log4j/net SMTPAppender.java
  Added:       tests/src/java/org/apache/log4j/net SMTPAppenderTest.java
  Log:
  Fixed activation problem with SMTPAppender
  
  Revision  Changes    Path
  1.2       +1 -1      logging-log4j/tests/src/java/org/apache/log4j/WriterAppenderTest.java
  
  Index: WriterAppenderTest.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/src/java/org/apache/log4j/WriterAppenderTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WriterAppenderTest.java	18 Feb 2005 19:55:55 -0000	1.1
  +++ WriterAppenderTest.java	18 Feb 2005 20:46:57 -0000	1.2
  @@ -30,7 +30,7 @@
       return new WriterAppender();
     }
   
  -  Appender getConfiguredAppender() {
  +  protected Appender getConfiguredAppender() {
       WriterAppender wa = new WriterAppender();
   
       // set a bogus writer
  
  
  
  1.2       +1 -1      logging-log4j/tests/src/java/org/apache/log4j/FileAppenderTest.java
  
  Index: FileAppenderTest.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/src/java/org/apache/log4j/FileAppenderTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FileAppenderTest.java	18 Feb 2005 19:55:55 -0000	1.1
  +++ FileAppenderTest.java	18 Feb 2005 20:46:58 -0000	1.2
  @@ -28,7 +28,7 @@
       return new FileAppender();
     }
   
  -  Appender getConfiguredAppender() {
  +  protected Appender getConfiguredAppender() {
       FileAppender wa = new FileAppender();
       wa.setFile("output/temp");
       wa.setLayout(new DummyLayout());
  
  
  
  1.2       +1 -1      logging-log4j/tests/src/java/org/apache/log4j/ConsoleAppenderTest.java
  
  Index: ConsoleAppenderTest.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/src/java/org/apache/log4j/ConsoleAppenderTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ConsoleAppenderTest.java	18 Feb 2005 19:55:55 -0000	1.1
  +++ ConsoleAppenderTest.java	18 Feb 2005 20:46:58 -0000	1.2
  @@ -29,7 +29,7 @@
       return new ConsoleAppender();
     }
   
  -  Appender getConfiguredAppender() {
  +  protected Appender getConfiguredAppender() {
       ConsoleAppender ca = new ConsoleAppender();
   
       // set a bogus layout
  
  
  
  1.2       +4 -2      logging-log4j/tests/src/java/org/apache/log4j/AbstractAppenderTest.java
  
  Index: AbstractAppenderTest.java
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/src/java/org/apache/log4j/AbstractAppenderTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractAppenderTest.java	18 Feb 2005 19:55:55 -0000	1.1
  +++ AbstractAppenderTest.java	18 Feb 2005 20:46:58 -0000	1.2
  @@ -18,6 +18,7 @@
   
   import java.io.Writer;
   
  +import org.apache.log4j.net.SMTPAppenderTest;
   import org.apache.log4j.spi.LoggingEvent;
   
   import junit.framework.Test;
  @@ -35,9 +36,9 @@
   abstract public class AbstractAppenderTest extends TestCase {
     
     abstract protected Appender getAppender();
  -  abstract Appender getConfiguredAppender();
  +  abstract protected Appender getConfiguredAppender();
     
  -  class DummyLayout extends Layout {
  +  public class DummyLayout extends Layout {
       public void format(Writer output, LoggingEvent event) {} 
       public void activateOptions() {} 
     } 
  @@ -68,6 +69,7 @@
       suite.addTestSuite(WriterAppenderTest.class);
       suite.addTestSuite(ConsoleAppenderTest.class);
       suite.addTestSuite(FileAppenderTest.class);
  +    suite.addTestSuite(SMTPAppenderTest.class);
       return suite;
     }
     
  
  
  
  1.47      +8 -0      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.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- SMTPAppender.java	18 Feb 2005 17:23:44 -0000	1.46
  +++ SMTPAppender.java	18 Feb 2005 20:46:58 -0000	1.47
  @@ -107,6 +107,7 @@
        Activate the specified options, such as the smtp host, the
        recipient, from, etc. */
     public void activate() {
  +    int errorCount = 0;
       Properties props = new Properties(System.getProperties());
   
       if (smtpHost != null) {
  @@ -127,6 +128,7 @@
   
         msg.setRecipients(Message.RecipientType.TO, parseAddress(to));
       } catch (MessagingException e) {
  +      errorCount++;
         getLogger().error("Could not activate SMTPAppender options.", e);
       }
   
  @@ -135,16 +137,22 @@
       }
       
       if (this.evaluator == null) {
  +      errorCount++;
         String errMsg = "No TriggeringEventEvaluator is set for appender ["+getName()+"].";
         getLogger().error(errMsg);
         throw new IllegalStateException(errMsg);
       }
   
       if (this.layout == null) {
  +      errorCount++;
         String errMsg = "No layout set for appender named [" + name + "].";
         getLogger().error(errMsg);
         throw new IllegalStateException(errMsg);
       }
  +    
  +    if(errorCount == 0) {
  +      super.activate();
  +    }
     }
   
     /**
  
  
  
  1.1                  logging-log4j/tests/src/java/org/apache/log4j/net/SMTPAppenderTest.java
  
  Index: SMTPAppenderTest.java
  ===================================================================
  /*
   * Copyright 1999,2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  
  package org.apache.log4j.net;
  
  import org.apache.log4j.AbstractAppenderTest;
  import org.apache.log4j.Appender;
  
  
  /**
   * Test if SMTPAppender honors the Appender contract.
   * 
   * @author <a href="http://www.qos.ch/log4j/">Ceki G&uuml;lc&uuml;</a>
   *
   */
  public class SMTPAppenderTest extends AbstractAppenderTest {
    protected Appender getAppender() {
      return new SMTPAppender();
    }
  
    public Appender getConfiguredAppender() {
      SMTPAppender ca = new SMTPAppender();
  
      // set a bogus layout
      ca.setLayout(new DummyLayout());
      ca.setFrom("noreply@nowhere.x");
      ca.setTo("noreply@nowhere.x");
      ca.setSMTPHost("localhost");
      return ca;
    }
  
    public void testPartiallyConfiguredAppender() {
      
    }
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org