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]