You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2015/12/03 10:54:40 UTC

[01/14] logging-log4j2 git commit: Replace String protocol method with type-safe enum Protocol.

Repository: logging-log4j2
Updated Branches:
  refs/heads/LOG4J2-649 13bb3d9fa -> cc2670593


Replace String protocol method with type-safe enum Protocol.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/9ef298b5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/9ef298b5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/9ef298b5

Branch: refs/heads/LOG4J2-649
Commit: 9ef298b5c82471944ab3c5508578c5752e0e7f60
Parents: 1c786f6
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 07:52:39 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 07:52:39 2015 -0800

----------------------------------------------------------------------
 .../org/apache/logging/log4j/core/appender/SocketAppenderTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9ef298b5/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 150ae70..9a7f9d5 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
@@ -144,7 +144,7 @@ public class SocketAppenderTest {
     @Test
     public void testDefaultProtocol() throws Exception {
 
-        final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, null, null, 0, "-1",
+        final SocketAppender appender = SocketAppender.createAppender("localhost", PORT, (Protocol) null, null, 0, "-1",
                 "false", "Test", null, null, null, null, null, null);
         assertNotNull(appender);
     }


[04/14] logging-log4j2 git commit: Remove unused imports.

Posted by mi...@apache.org.
Remove unused imports.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/fb5842a5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/fb5842a5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/fb5842a5

Branch: refs/heads/LOG4J2-649
Commit: fb5842a54134682d0411cb32489586c1cf5eaf97
Parents: f52b7bf
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 07:56:39 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 07:56:39 2015 -0800

----------------------------------------------------------------------
 .../java/org/apache/logging/log4j/core/appender/SocketAppender.java | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/fb5842a5/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 ba6774f..89410c6 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
@@ -38,7 +38,6 @@ import org.apache.logging.log4j.core.net.SslSocketManager;
 import org.apache.logging.log4j.core.net.TcpSocketManager;
 import org.apache.logging.log4j.core.net.ssl.SslConfiguration;
 import org.apache.logging.log4j.core.util.Booleans;
-import org.apache.logging.log4j.util.EnglishEnums;
 
 /**
  * An Appender that delivers events over socket connections. Supports both TCP and UDP.


[12/14] logging-log4j2 git commit: New ConsoleAppender factory method is type safe, old method is deprecated.

Posted by mi...@apache.org.
New ConsoleAppender factory method is type safe, old method is
deprecated.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4579f143
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4579f143
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4579f143

Branch: refs/heads/LOG4J2-649
Commit: 4579f143958771e3f26d2b8dad944bb0e899bf54
Parents: 9101f80
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 22:22:22 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 22:22:22 2015 -0800

----------------------------------------------------------------------
 .../log4j/core/appender/ConsoleAppender.java    | 45 +++++++++++++++++---
 .../core/appender/ConsoleAppenderTest.java      | 10 ++---
 2 files changed, 43 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4579f143/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
index 82a97d9..10abd72 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
@@ -86,14 +86,15 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
      * @param ignore If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise they
      *            are propagated to the caller.
      * @return The ConsoleAppender.
+     * @deprecated Use {@link #createAppender(Layout, Filter, Target, String, String, boolean)}.
      */
-    @PluginFactory
-    public static ConsoleAppender createAppender(@PluginElement("Layout") Layout<? extends Serializable> layout,
-            @PluginElement("Filter") final Filter filter,
-            @PluginAttribute(value = "target", defaultString = "SYSTEM_OUT") final String targetStr,
-            @PluginAttribute("name") final String name,
-            @PluginAttribute(value = "follow", defaultBoolean = false) final String follow,
-            @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final String ignore) {
+    @Deprecated
+    public static ConsoleAppender createAppender(Layout<? extends Serializable> layout,
+            final Filter filter,
+            final String targetStr,
+            final String name,
+            final String follow,
+            final String ignore) {
         if (name == null) {
             LOGGER.error("No name provided for ConsoleAppender");
             return null;
@@ -107,6 +108,36 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
         return new ConsoleAppender(name, layout, filter, getManager(target, isFollow, layout), ignoreExceptions, target);
     }
 
+    /**
+     * Creates a Console Appender.
+     * 
+     * @param layout The layout to use (required).
+     * @param filter The Filter or null.
+     * @param target The target (SYSTEM_OUT or SYSTEM_ERR). The default is SYSTEM_OUT.
+     * @param follow If true will follow changes to the underlying output stream.
+     * @param name The name of the Appender (required).
+     * @param ignoreExceptions If {@code "true"} (default) exceptions encountered when appending events are logged; otherwise they
+     *            are propagated to the caller.
+     * @return The ConsoleAppender.
+     */
+    @PluginFactory
+    public static ConsoleAppender createAppender(@PluginElement("Layout") Layout<? extends Serializable> layout,
+            @PluginElement("Filter") final Filter filter,
+            @PluginAttribute(value = "target") Target target,
+            @PluginAttribute("name") final String name,
+            @PluginAttribute(value = "follow", defaultBoolean = false) final boolean follow,
+            @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions) {
+        if (name == null) {
+            LOGGER.error("No name provided for ConsoleAppender");
+            return null;
+        }
+        if (layout == null) {
+            layout = PatternLayout.createDefaultLayout();
+        }
+        target = target == null ? Target.SYSTEM_OUT : target;
+        return new ConsoleAppender(name, layout, filter, getManager(target, follow, layout), ignoreExceptions, target);
+    }
+
     public static ConsoleAppender createDefaultAppenderForLayout(final Layout<? extends Serializable> layout) {
         // this method cannot use the builder class without introducing an infinite loop due to DefaultConfiguration
         return new ConsoleAppender("DefaultConsole-" + COUNT.incrementAndGet(), layout, null,

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4579f143/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
index 317fc17..65b3e2e 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
@@ -90,7 +90,7 @@ public class ConsoleAppenderTest {
         abstract void systemSet(PrintStream printStream);
     }
 
-    private void testConsoleStreamManagerDoesNotClose(final PrintStream ps, final String targetName, final SystemSetter systemSetter) {
+    private void testConsoleStreamManagerDoesNotClose(final PrintStream ps, final Target targetName, final SystemSetter systemSetter) {
         try {
             psMock.write((byte[]) anyObject(), anyInt(), anyInt());
             expectLastCall().anyTimes();
@@ -100,8 +100,8 @@ public class ConsoleAppenderTest {
             mocks.replayAll();
             systemSetter.systemSet(psMock);
             final Layout<String> layout = PatternLayout.createLayout(null, null, null, null, null, false, false, null, null);
-            final ConsoleAppender app = ConsoleAppender.createAppender(layout, null, targetName, "Console", "false",
-                    "false");
+            final ConsoleAppender app = ConsoleAppender.createAppender(layout, null, targetName, "Console", false,
+                    false);
             app.start();
             assertTrue("Appender did not start", app.isStarted());
 
@@ -162,12 +162,12 @@ public class ConsoleAppenderTest {
 
     @Test
     public void testSystemErrStreamManagerDoesNotClose() {
-        testConsoleStreamManagerDoesNotClose(System.err, "SYSTEM_ERR", SystemSetter.SYSTEM_ERR);
+        testConsoleStreamManagerDoesNotClose(System.err, Target.SYSTEM_ERR, SystemSetter.SYSTEM_ERR);
     }
 
     @Test
     public void testSystemOutStreamManagerDoesNotClose() {
-        testConsoleStreamManagerDoesNotClose(System.out, "SYSTEM_OUT", SystemSetter.SYSTEM_OUT);
+        testConsoleStreamManagerDoesNotClose(System.out, Target.SYSTEM_OUT, SystemSetter.SYSTEM_OUT);
     }
 
 }


[05/14] logging-log4j2 git commit: Javadoc tweak.

Posted by mi...@apache.org.
Javadoc tweak.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/2566efa6
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2566efa6
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2566efa6

Branch: refs/heads/LOG4J2-649
Commit: 2566efa635d6930b9ba0b002689fc9aab9b5eb4f
Parents: fb5842a
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 08:18:04 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 08:18:04 2015 -0800

----------------------------------------------------------------------
 .../logging/log4j/core/appender/AbstractOutputStreamAppender.java  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2566efa6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
index 3e09a61..5720974 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
@@ -48,7 +48,7 @@ public abstract class AbstractOutputStreamAppender<M extends OutputStreamManager
     private final Lock readLock = rwLock.readLock();
 
     /**
-     * Instantiate a WriterAppender and set the output destination to a new {@link java.io.OutputStreamWriter}
+     * Instantiates a WriterAppender and set the output destination to a new {@link java.io.OutputStreamWriter}
      * initialized with <code>os</code> as its {@link java.io.OutputStream}.
      * 
      * @param name The name of the Appender.


[07/14] logging-log4j2 git commit: New SocketAppender factory API is now type safe.

Posted by mi...@apache.org.
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/LOG4J2-649
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


[06/14] logging-log4j2 git commit: Encapsulate immediate flush.

Posted by mi...@apache.org.
Encapsulate immediate flush.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/358c4579
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/358c4579
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/358c4579

Branch: refs/heads/LOG4J2-649
Commit: 358c4579bab52a15844a0f17f6e3b64cfdea880f
Parents: 2566efa
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 08:35:47 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 08:35:47 2015 -0800

----------------------------------------------------------------------
 .../core/appender/AbstractOutputStreamAppender.java     | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/358c4579/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
index 5720974..5ab28d5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractOutputStreamAppender.java
@@ -40,7 +40,7 @@ public abstract class AbstractOutputStreamAppender<M extends OutputStreamManager
      * <code>immediateFlush</code> is set to {@code false}, then there is a good chance that the last few logs events
      * are not actually written to persistent media if and when the application crashes.
      */
-    protected final boolean immediateFlush;
+    private final boolean immediateFlush;
 
     private final M manager;
 
@@ -63,6 +63,15 @@ public abstract class AbstractOutputStreamAppender<M extends OutputStreamManager
     }
 
     /**
+     * Gets the immediate flush setting.
+     * 
+     * @return immediate flush.
+     */
+    public boolean getImmediateFlush() {
+        return immediateFlush;
+    }
+
+    /**
      * Gets the manager.
      * 
      * @return the manager.
@@ -114,4 +123,5 @@ public abstract class AbstractOutputStreamAppender<M extends OutputStreamManager
             readLock.unlock();
         }
     }
+
 }


[03/14] logging-log4j2 git commit: Format.

Posted by mi...@apache.org.
Format.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/f52b7bf2
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/f52b7bf2
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/f52b7bf2

Branch: refs/heads/LOG4J2-649
Commit: f52b7bf20a44443609ba9cd460326304f680b477
Parents: fe4ace5
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 07:56:03 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 07:56:03 2015 -0800

----------------------------------------------------------------------
 .../org/apache/logging/log4j/core/appender/SocketAppender.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f52b7bf2/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 9b2ec0d..ba6774f 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
@@ -123,7 +123,8 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
             @PluginAttribute("ignoreExceptions") final String ignore,
             @PluginElement("Layout") Layout<? extends Serializable> layout,
             @PluginElement("Filter") final Filter filter,
-            @PluginAttribute("advertise") final String advertise, @PluginConfiguration final Configuration config) {
+            @PluginAttribute("advertise") final String advertise, 
+            @PluginConfiguration final Configuration config) {
             // @formatter:on
         boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
         final boolean isAdvertise = Boolean.parseBoolean(advertise);
@@ -203,7 +204,8 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
             @PluginAttribute("ignoreExceptions") final String ignore,
             @PluginElement("Layout") Layout<? extends Serializable> layout,
             @PluginElement("Filter") final Filter filter,
-            @PluginAttribute("advertise") final String advertise, @PluginConfiguration final Configuration config) {
+            @PluginAttribute("advertise") final String advertise, 
+            @PluginConfiguration final Configuration config) {
             // @formatter:on
         return createAppender(host, portNum, protocolIn, sslConfig, connectTimeoutMillis, delayMillis, immediateFail,
                 name, immediateFlush, ignore, layout, filter, advertise, config);


[14/14] logging-log4j2 git commit: Merge branch 'master' into LOG4J2-649

Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-649


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/cc267059
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/cc267059
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/cc267059

Branch: refs/heads/LOG4J2-649
Commit: cc2670593c4b68d34b61d9167f8ac73837a6f05f
Parents: 13bb3d9 b6c67b4
Author: Mikael Ståldal <mi...@magine.com>
Authored: Thu Dec 3 10:54:25 2015 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Thu Dec 3 10:54:25 2015 +0100

----------------------------------------------------------------------
 .../appender/AbstractOutputStreamAppender.java  | 14 +++-
 .../log4j/core/appender/ConsoleAppender.java    | 58 ++++++++++---
 .../log4j/core/appender/SocketAppender.java     | 85 ++++++++++----------
 .../core/appender/ConsoleAppenderTest.java      | 14 ++--
 .../log4j/core/appender/SocketAppenderTest.java | 31 ++++---
 .../net/server/AbstractSocketServerTest.java    | 10 +--
 .../core/net/server/SslXmlSocketServerTest.java |  4 +-
 7 files changed, 133 insertions(+), 83 deletions(-)
----------------------------------------------------------------------



[09/14] logging-log4j2 git commit: New SocketAppender factory API is now type safe.

Posted by mi...@apache.org.
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/85aed0c3
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/85aed0c3
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/85aed0c3

Branch: refs/heads/LOG4J2-649
Commit: 85aed0c35fbddd0fae64d9d1aabfceb6fe8eaa90
Parents: cb3d35e
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 16:29:05 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 16:29:05 2015 -0800

----------------------------------------------------------------------
 .../logging/log4j/core/appender/SocketAppender.java      | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85aed0c3/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 cda19e4..4212613 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
@@ -201,8 +201,15 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
             @PluginAttribute("advertise") final String advertise, 
             @PluginConfiguration final Configuration config) {
             // @formatter:on
-        return createAppender(host, portNum, protocolIn, sslConfig, connectTimeoutMillis, delayMillis, immediateFail,
-                name, immediateFlush, ignore, layout, filter, advertise, config);
+        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);
+        final Protocol p = protocolIn == null ? Protocol.UDP : Protocol.valueOf(protocolIn);
+        return createAppender(host, port, p, sslConfig, connectTimeoutMillis, reconnectDelayMillis, fail, name, isFlush,
+                ignoreExceptions, layout, filter, isAdvertise, config);
     }
 
     /**


[13/14] logging-log4j2 git commit: Fix tests I broke earlier.

Posted by mi...@apache.org.
Fix tests I broke earlier.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b6c67b49
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b6c67b49
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b6c67b49

Branch: refs/heads/LOG4J2-649
Commit: b6c67b491bbac7a747e05db773ddd234673eab3f
Parents: 4579f14
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 22:47:55 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 22:47:55 2015 -0800

----------------------------------------------------------------------
 .../apache/logging/log4j/core/appender/SocketAppenderTest.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b6c67b49/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 21bf250..5e4a556 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
@@ -71,7 +71,7 @@ public class SocketAppenderTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        tcpServer = new TCPSocketServer(AvailablePortFinder.getNextAvailable());
+        tcpServer = new TCPSocketServer(PORT);
         tcpServer.start();
         udpServer = new UDPSocketServer();
         udpServer.start();
@@ -175,7 +175,7 @@ public class SocketAppenderTest {
         root.setAdditive(false);
         root.setLevel(Level.DEBUG);
 
-        new TCPSocketServer(AvailablePortFinder.getNextAvailable()).start();
+        new TCPSocketServer(DYN_PORT).start();
 
         root.debug("This message is written because a deadlock never.");
 
@@ -209,7 +209,7 @@ public class SocketAppenderTest {
         private Thread thread;
 
         public UDPSocketServer() throws IOException {
-            this.sock = new DatagramSocket(AvailablePortFinder.getNextAvailable());
+            this.sock = new DatagramSocket(PORT);
         }
 
         public void shutdown() {


[11/14] logging-log4j2 git commit: New SocketAppender factory API is now type safe. Clean ups.

Posted by mi...@apache.org.
New SocketAppender factory API is now type safe. Clean ups.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/9101f80a
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/9101f80a
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/9101f80a

Branch: refs/heads/LOG4J2-649
Commit: 9101f80ae8f35163bca86e3a91fe9a95ad9c68d5
Parents: 441b393
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 21:49:47 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 21:49:47 2015 -0800

----------------------------------------------------------------------
 .../log4j/core/appender/SocketAppender.java     | 30 ++++++++++----------
 1 file changed, 15 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/9101f80a/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 4212613..9c21d4a 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
@@ -185,21 +185,21 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
     @Deprecated
     public static SocketAppender createAppender(
             // @formatter:off
-            @PluginAttribute("host") final String host,
-            @PluginAttribute("port") final String portNum,
-            @PluginAttribute("protocol") final String protocolIn,
-            @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("name") final String name,
-            @PluginAttribute("immediateFlush") final String immediateFlush,
-            @PluginAttribute("ignoreExceptions") final String ignore,
-            @PluginElement("Layout") Layout<? extends Serializable> layout,
-            @PluginElement("Filter") final Filter filter,
-            @PluginAttribute("advertise") final String advertise, 
-            @PluginConfiguration final Configuration config) {
+            final String host,
+            final String portNum,
+            final String protocolIn,
+            final SslConfiguration sslConfig,
+            final int connectTimeoutMillis,
+            // deprecated
+            final String delayMillis,
+            final String immediateFail,
+            final String name,
+            final String immediateFlush,
+            final String ignore,
+            Layout<? extends Serializable> layout,
+            final Filter filter,
+            final String advertise, 
+            final Configuration config) {
             // @formatter:on
         boolean isFlush = Booleans.parseBoolean(immediateFlush, true);
         final boolean isAdvertise = Boolean.parseBoolean(advertise);


[02/14] logging-log4j2 git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/logging-log4j2.git

Posted by mi...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/logging-log4j2.git

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/fe4ace50
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/fe4ace50
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/fe4ace50

Branch: refs/heads/LOG4J2-649
Commit: fe4ace50c91384ae6fc7c3314a5669aabb5db6ae
Parents: 9ef298b 5a14032
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 07:52:58 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 07:52:58 2015 -0800

----------------------------------------------------------------------
 .../log4j/core/appender/HangingAppender.java    | 29 ++++++++++++++++++--
 1 file changed, 27 insertions(+), 2 deletions(-)
----------------------------------------------------------------------



[10/14] logging-log4j2 git commit: Add ConsoleAppender.getTarget().

Posted by mi...@apache.org.
Add ConsoleAppender.getTarget().

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/441b3933
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/441b3933
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/441b3933

Branch: refs/heads/LOG4J2-649
Commit: 441b393311bbbf832249099d6eaf907d9a6d1591
Parents: 85aed0c
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 21:27:48 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 21:27:48 2015 -0800

----------------------------------------------------------------------
 .../logging/log4j/core/appender/ConsoleAppender.java | 15 +++++++++++----
 .../log4j/core/appender/ConsoleAppenderTest.java     |  4 +++-
 2 files changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/441b3933/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
index 0466485..82a97d9 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
@@ -57,6 +57,8 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
     private static final Target DEFAULT_TARGET = Target.SYSTEM_OUT;
     private static final AtomicInteger COUNT = new AtomicInteger();
 
+    private final Target target;
+    
     /**
      * Enumeration of console destinations.
      */
@@ -68,8 +70,9 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
     }
 
     private ConsoleAppender(final String name, final Layout<? extends Serializable> layout, final Filter filter,
-            final OutputStreamManager manager, final boolean ignoreExceptions) {
+            final OutputStreamManager manager, final boolean ignoreExceptions, Target target) {
         super(name, layout, filter, ignoreExceptions, true, manager);
+        this.target = target;
     }
 
     /**
@@ -101,13 +104,13 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
         final boolean isFollow = Boolean.parseBoolean(follow);
         final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true);
         final Target target = targetStr == null ? DEFAULT_TARGET : Target.valueOf(targetStr);
-        return new ConsoleAppender(name, layout, filter, getManager(target, isFollow, layout), ignoreExceptions);
+        return new ConsoleAppender(name, layout, filter, getManager(target, isFollow, layout), ignoreExceptions, target);
     }
 
     public static ConsoleAppender createDefaultAppenderForLayout(final Layout<? extends Serializable> layout) {
         // this method cannot use the builder class without introducing an infinite loop due to DefaultConfiguration
         return new ConsoleAppender("DefaultConsole-" + COUNT.incrementAndGet(), layout, null,
-                getDefaultManager(DEFAULT_TARGET, false, layout), true);
+                getDefaultManager(DEFAULT_TARGET, false, layout), true, DEFAULT_TARGET);
     }
 
     @PluginBuilderFactory
@@ -173,7 +176,7 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
 
         @Override
         public ConsoleAppender build() {
-            return new ConsoleAppender(name, layout, filter, getManager(target, follow, layout), ignoreExceptions);
+            return new ConsoleAppender(name, layout, filter, getManager(target, follow, layout), ignoreExceptions, target);
         }
     }
 
@@ -331,4 +334,8 @@ public final class ConsoleAppender extends AbstractOutputStreamAppender<OutputSt
         }
     }
 
+    public Target getTarget() {
+        return target;
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/441b3933/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
index 16417b9..317fc17 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.appender;
 import static org.easymock.EasyMock.anyInt;
 import static org.easymock.EasyMock.anyObject;
 import static org.easymock.EasyMock.expectLastCall;
-
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -37,10 +36,12 @@ import org.apache.logging.log4j.core.util.Constants;
 import org.apache.logging.log4j.message.SimpleMessage;
 import org.easymock.EasyMockSupport;
 import org.junit.AfterClass;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+
 /**
  *
  */
@@ -133,6 +134,7 @@ public class ConsoleAppenderTest {
     private void testFollowSystemPrintStream(final PrintStream ps, final Target target, final SystemSetter systemSetter) {
         final ConsoleAppender app = ConsoleAppender.newBuilder().setTarget(target).setFollow(true)
                 .setIgnoreExceptions(false).build();
+        Assert.assertEquals(target, app.getTarget());
         app.start();
         try {
             final LogEvent event = Log4jLogEvent.newBuilder() //


[08/14] logging-log4j2 git commit: Test clean ups.

Posted by mi...@apache.org.
Test clean ups.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/cb3d35e5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/cb3d35e5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/cb3d35e5

Branch: refs/heads/LOG4J2-649
Commit: cb3d35e572869b815766b9eb5986293fc5f3426f
Parents: d49c49f
Author: ggregory <gg...@apache.org>
Authored: Wed Dec 2 09:21:49 2015 -0800
Committer: ggregory <gg...@apache.org>
Committed: Wed Dec 2 09:21:49 2015 -0800

----------------------------------------------------------------------
 .../log4j/core/appender/SocketAppenderTest.java        | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/cb3d35e5/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 87b06cb..21bf250 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
@@ -54,11 +54,8 @@ import org.junit.Test;
  */
 public class SocketAppenderTest {
 
-    private static final int PORTNUM1 = AvailablePortFinder.getNextAvailable();
-    private static final int PORTNUM2 = AvailablePortFinder.getNextAvailable();
-
-    private static final int PORT = PORTNUM1;
-    private static final int DYN_PORT = PORTNUM2;
+    private static final int PORT = AvailablePortFinder.getNextAvailable();
+    private static final int DYN_PORT = AvailablePortFinder.getNextAvailable();
     private static final int ERROR_PORT = AvailablePortFinder.getNextAvailable();
 
     private static BlockingQueue<LogEvent> list = new ArrayBlockingQueue<>(10);
@@ -74,7 +71,7 @@ public class SocketAppenderTest {
 
     @BeforeClass
     public static void setupClass() throws Exception {
-        tcpServer = new TCPSocketServer(PORTNUM1);
+        tcpServer = new TCPSocketServer(AvailablePortFinder.getNextAvailable());
         tcpServer.start();
         udpServer = new UDPSocketServer();
         udpServer.start();
@@ -178,7 +175,7 @@ public class SocketAppenderTest {
         root.setAdditive(false);
         root.setLevel(Level.DEBUG);
 
-        new TCPSocketServer(PORTNUM2).start();
+        new TCPSocketServer(AvailablePortFinder.getNextAvailable()).start();
 
         root.debug("This message is written because a deadlock never.");
 
@@ -212,7 +209,7 @@ public class SocketAppenderTest {
         private Thread thread;
 
         public UDPSocketServer() throws IOException {
-            this.sock = new DatagramSocket(PORTNUM1);
+            this.sock = new DatagramSocket(AvailablePortFinder.getNextAvailable());
         }
 
         public void shutdown() {