carnold     2004/12/20 17:24:10

  Modified:    src/java/org/apache/log4j/net TelnetAppender.java
               tests    performance.xml
  Added:       tests/input/performance telnet.xml
  Log:
  Bug 22368: TelnetAppender should check for connections before rendering 
message
  
  Revision  Changes    Path
  1.10      +9 -1      
logging-log4j/src/java/org/apache/log4j/net/TelnetAppender.java
  
  Index: TelnetAppender.java
  ===================================================================
  RCS file: 
/home/cvs/logging-log4j/src/java/org/apache/log4j/net/TelnetAppender.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TelnetAppender.java       15 Dec 2004 21:01:02 -0000      1.9
  +++ TelnetAppender.java       21 Dec 2004 01:24:09 -0000      1.10
  @@ -96,7 +96,7 @@
     /** Handles a log event.  For this appender, that means writing the
       message to each connected client.  */
     protected void append(LoggingEvent event) {
  -    if(sh == null) {
  +    if(sh == null || !sh.hasConnections()) {
         return;
       }
   
  @@ -198,6 +198,14 @@
             logger.error("Encountered error while in SocketHandler loop.", e);
           }
         }
  +    }
  +    
  +    /**
  +     *  Determines if socket hander has any active connections.
  +     *  @returns true if any active connections.
  +     */
  +    public boolean hasConnections() {
  +       return connections.size() > 0;
       }
     }
   }
  
  
  
  1.4       +11 -2     logging-log4j/tests/performance.xml
  
  Index: performance.xml
  ===================================================================
  RCS file: /home/cvs/logging-log4j/tests/performance.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- performance.xml   9 Nov 2004 18:26:40 -0000       1.3
  +++ performance.xml   21 Dec 2004 01:24:10 -0000      1.4
  @@ -28,8 +28,8 @@
         file         - run performance tests using FileAppender        
         file-noflush - run performance tests using FileAppender without 
immediate flush        
         file-bufferedio - run performance tests using FileAppender without 
buffered IO
  +      telnet - run performace tests with TelnetAppender
         
  -      runAll - run all available tests
       </echo>
     </target>
   
  @@ -39,7 +39,7 @@
       </delete>
      </target>
   
  -  <target name="all" depends="null, file, file-noflush, file-bufferedio">
  +  <target name="all" depends="null, file, file-noflush, file-bufferedio, 
telnet">
       <antcall target="loop-group">
         <param name="configFile" value="input/performance/null-appender.xml"/>
       </antcall>
  @@ -72,6 +72,15 @@
         <param name="configFile" 
value="input/performance/file-bufferedio.xml"/>
       </antcall>
     </target>  
  +  
  +  <target name="telnet" depends="clean">
  +    <echo message="*** logging with TelnetAppender ***"/>
  +    <antcall target="loop-group">
  +      <param name="configFile" value="input/performance/telnet.xml"/>
  +    </antcall>
  +  </target>
  +
  +  
   
     <target name="loop">
       <echo message="Pattern is ${pattern}"/>  
  
  
  
  1.1                  logging-log4j/tests/input/performance/telnet.xml
  
  Index: telnet.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8" ?>
  
  <log4j:configuration xmlns:log4j='http://logging.apache.org/'>
  
    <appender name="TELNET" class="org.apache.log4j.net.TelnetAppender">
      <param name="port" value="7023"/>
      <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="${pattern}"/>
      </layout>
    </appender>
  
    <root>
      <level value="debug" />
      <appender-ref ref="TELNET" />
    </root>
  
  </log4j:configuration>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to