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]