You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2015/12/02 18:21:16 UTC
logging-log4j2 git commit: New SocketAppender factory API is now type
safe.
Repository: logging-log4j2
Updated Branches:
refs/heads/master 358c4579b -> d49c49fd6
New SocketAppender factory API is now type safe.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/d49c49fd
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/d49c49fd
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/d49c49fd
Branch: refs/heads/master
Commit: d49c49fd65720f04c5d0c29c5747174697457e80
Parents: 358c457
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 09:21:11 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 09:21:11 2015 -0800
----------------------------------------------------------------------
.../log4j/core/appender/SocketAppender.java | 43 +++++++++-----------
.../log4j/core/appender/SocketAppenderTest.java | 22 +++++-----
.../net/server/AbstractSocketServerTest.java | 10 ++---
.../core/net/server/SslXmlSocketServerTest.java | 4 +-
4 files changed, 37 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d49c49fd/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
index 89410c6..cda19e4 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
@@ -77,15 +77,15 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
*
* @param host
* The name of the host to connect to.
- * @param portNum
+ * @param port
* The port to connect to on the target host.
- * @param protocolIn
+ * @param protocol
* The Protocol to use.
* @param sslConfig
* The SSL configuration file for TCP/SSL, ignored for UPD.
* @param connectTimeoutMillis
* the connect timeout in milliseconds.
- * @param delayMillis
+ * @param reconnectDelayMillis
* The interval in which failed writes should be retried.
* @param immediateFail
* True if the write should fail if no socket is immediately available.
@@ -93,7 +93,7 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
* The name of the Appender.
* @param immediateFlush
* "true" if data should be flushed on each write.
- * @param ignore
+ * @param ignoreExceptions
* If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise they
* are propagated to the caller.
* @param layout
@@ -110,27 +110,22 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
public static SocketAppender createAppender(
// @formatter:off
@PluginAttribute("host") final String host,
- @PluginAttribute("port") final String portNum,
- @PluginAttribute("protocol") final Protocol protocolIn,
+ @PluginAttribute(value = "port", defaultInt = 0) final int port,
+ @PluginAttribute("protocol") final Protocol protocol,
@PluginElement("SSL") final SslConfiguration sslConfig,
@PluginAttribute(value = "connectTimeoutMillis", defaultInt = 0) final int connectTimeoutMillis,
@PluginAliases("reconnectionDelay") // deprecated
- @PluginAttribute("reconnectionDelayMillis") final String delayMillis,
- @PluginAttribute("immediateFail") final String immediateFail,
+ @PluginAttribute(value = "reconnectionDelayMillis", defaultInt = 0) final int reconnectDelayMillis,
+ @PluginAttribute(value = "immediateFail", defaultBoolean = true) final boolean immediateFail,
@PluginAttribute("name") final String name,
- @PluginAttribute("immediateFlush") final String immediateFlush,
- @PluginAttribute("ignoreExceptions") final String ignore,
+ @PluginAttribute(value = "immediateFlush", defaultBoolean = true) boolean immediateFlush,
+ @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions,
@PluginElement("Layout") Layout<? extends Serializable> layout,
@PluginElement("Filter") final Filter filter,
- @PluginAttribute("advertise") final String advertise,
+ @PluginAttribute(value = "advertise", defaultBoolean = false) final boolean advertise,
@PluginConfiguration final Configuration config) {
// @formatter:on
- boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
- final boolean isAdvertise = Boolean.parseBoolean(advertise);
- final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
- final boolean fail = Booleans.parseBoolean(immediateFail, true);
- final int reconnectDelayMillis = AbstractAppender.parseInt(delayMillis, 0);
- final int port = AbstractAppender.parseInt(portNum, 0);
+
if (layout == null) {
layout = SerializedLayout.createLayout();
}
@@ -140,16 +135,16 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
return null;
}
- final Protocol protocol = protocolIn != null ? protocolIn : Protocol.TCP;
- if (protocol == Protocol.UDP) {
- isFlush = true;
+ final Protocol actualProtocol = protocol != null ? protocol : Protocol.TCP;
+ if (actualProtocol == Protocol.UDP) {
+ immediateFlush = true;
}
- final AbstractSocketManager manager = createSocketManager(name, protocol, host, port, connectTimeoutMillis,
- sslConfig, reconnectDelayMillis, fail, layout);
+ final AbstractSocketManager manager = createSocketManager(name, actualProtocol, host, port, connectTimeoutMillis,
+ sslConfig, reconnectDelayMillis, immediateFail, layout);
- return new SocketAppender(name, layout, filter, manager, ignoreExceptions, isFlush,
- isAdvertise ? config.getAdvertiser() : null);
+ return new SocketAppender(name, layout, filter, manager, ignoreExceptions, immediateFlush,
+ advertise ? config.getAdvertiser() : null);
}
/**
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d49c49fd/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
index 9a7f9d5..87b06cb 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/SocketAppenderTest.java
@@ -57,9 +57,9 @@ public class SocketAppenderTest {
private static final int PORTNUM1 = AvailablePortFinder.getNextAvailable();
private static final int PORTNUM2 = AvailablePortFinder.getNextAvailable();
- private static final String PORT = String.valueOf(PORTNUM1);
- private static final String DYN_PORT = String.valueOf(PORTNUM2);
- private static final String ERROR_PORT = String.valueOf(AvailablePortFinder.getNextAvailable());
+ private static final int PORT = PORTNUM1;
+ private static final int DYN_PORT = PORTNUM2;
+ private static final int ERROR_PORT = AvailablePortFinder.getNextAvailable();
private static BlockingQueue<LogEvent> list = new ArrayBlockingQueue<>(10);
@@ -104,8 +104,8 @@ public class SocketAppenderTest {
@Test
public void testTcpAppender() throws Exception {
- final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, Protocol.TCP, null, 0, "-1",
- "false", "Test", null, null, null, null, null, null);
+ final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, Protocol.TCP, null, 0, -1,
+ false, "Test", true, true, null, null, false, null);
appender.start();
// set appender on root and set level to debug
@@ -144,16 +144,16 @@ public class SocketAppenderTest {
@Test
public void testDefaultProtocol() throws Exception {
- final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, (Protocol) null, null, 0, "-1",
- "false", "Test", null, null, null, null, null, null);
+ final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, (Protocol) null, null, 0, -1,
+ false, "Test", true, true, null, null, false, null);
assertNotNull(appender);
}
@Test
public void testUdpAppender() throws Exception {
- final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, Protocol.UDP, null, 0, "-1",
- "false", "Test", null, null, null, null, null, null);
+ final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, Protocol.UDP, null, 0, -1,
+ false, "Test", true, true, null, null, false, null);
appender.start();
// set appender on root and set level to debug
@@ -171,7 +171,7 @@ public class SocketAppenderTest {
public void testTcpAppenderDeadlock() throws Exception {
final SocketAppender appender = SocketAppender.createAppender("localhost", DYN_PORT, Protocol.TCP, null, 0,
- "100", "false", "Test", null, null, null, null, null, null);
+ 100, false, "Test", true, true, null, null, false, null);
appender.start();
// set appender on root and set level to debug
root.addAppender(appender);
@@ -190,7 +190,7 @@ public class SocketAppenderTest {
public void testTcpAppenderNoWait() throws Exception {
final SocketAppender appender = SocketAppender.createAppender("localhost", ERROR_PORT, Protocol.TCP, null, 0,
- "100", "true", "Test", null, "false", null, null, null, null);
+ 100, true, "Test", true, false, null, null, false, null);
appender.start();
// set appender on root and set level to debug
root.addAppender(appender);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d49c49fd/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
index 18f450a..06adc8a 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/AbstractSocketServerTest.java
@@ -59,19 +59,19 @@ public abstract class AbstractSocketServerTest {
static final int PORT_NUM = AvailablePortFinder.getNextAvailable();
- static final String PORT = String.valueOf(PORT_NUM);
+ static final int PORT = PORT_NUM;
private final LoggerContext ctx = LoggerContext.getContext(false);
private final boolean expectLengthException;
- protected final String port;
+ protected final int port;
protected final Protocol protocol;
private final Logger rootLogger = ctx.getLogger(AbstractSocketServerTest.class.getSimpleName());
- protected AbstractSocketServerTest(final Protocol protocol, final String port, final boolean expectLengthException) {
+ protected AbstractSocketServerTest(final Protocol protocol, final int port, final boolean expectLengthException) {
this.protocol = protocol;
this.port = port;
this.expectLengthException = expectLengthException;
@@ -206,8 +206,8 @@ public abstract class AbstractSocketServerTest {
protected SocketAppender createSocketAppender(final Filter socketFilter,
final Layout<? extends Serializable> socketLayout) {
- return SocketAppender.createAppender("localhost", this.port, this.protocol, null, 0, "-1", null,
- "Test", "true", "false", socketLayout, socketFilter, null, null);
+ return SocketAppender.createAppender("localhost", this.port, this.protocol, null, 0, -1, true,
+ "Test", true, false, socketLayout, socketFilter, false, null);
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d49c49fd/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
index 3eafa45..64e275b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/net/server/SslXmlSocketServerTest.java
@@ -51,8 +51,8 @@ public class SslXmlSocketServerTest extends AbstractSocketServerTest {
@Override
protected SocketAppender createSocketAppender(final Filter socketFilter,
final Layout<? extends Serializable> socketLayout) {
- return SocketAppender.createAppender("localhost", this.port, this.protocol, sslConfig, 0, "-1", null,
- "Test", "true", "false", socketLayout, socketFilter, null, null);
+ return SocketAppender.createAppender("localhost", this.port, this.protocol, sslConfig, 0, -1, true,
+ "Test", true, false, socketLayout, socketFilter, false, null);
}
@BeforeClass