Repository: logging-log4j2
Updated Branches:
  refs/heads/master d85a0589b -> f73f89b14


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f73f89b1/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
index 855b99a..444c250 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/TcpSocketManager.java
@@ -1,327 +1,327 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.core.net;
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.Serializable;
-import java.net.ConnectException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-
-import org.apache.logging.log4j.core.Layout;
-import org.apache.logging.log4j.core.appender.AppenderLoggingException;
-import org.apache.logging.log4j.core.appender.ManagerFactory;
-import org.apache.logging.log4j.core.appender.OutputStreamManager;
-import org.apache.logging.log4j.core.util.Log4jThread;
-import org.apache.logging.log4j.core.util.NullOutputStream;
-import org.apache.logging.log4j.util.Strings;
-
-/**
- * Manager of TCP Socket connections.
- */
-public class TcpSocketManager extends AbstractSocketManager {
-    /**
-      The default reconnection delay (30000 milliseconds or 30 seconds).
-     */
-    public static final int DEFAULT_RECONNECTION_DELAY_MILLIS   = 30000;
-    /**
-      The default port number of remote logging server (4560).
-     */
-    private static final int DEFAULT_PORT = 4560;
-
-    private static final TcpSocketManagerFactory FACTORY = new 
TcpSocketManagerFactory();
-
-    private final int reconnectionDelay;
-
-    private Reconnector reconnector;
-
-    private Socket socket;
-
-    private final boolean retry;
-
-    private final boolean immediateFail;
-    
-    private final int connectTimeoutMillis;
-
-    /**
-     * The Constructor.
-     * @param name The unique name of this connection.
-     * @param os The OutputStream.
-     * @param socket The Socket.
-     * @param inetAddress The Internet address of the host.
-     * @param host The name of the host.
-     * @param port The port number on the host.
-     * @param connectTimeoutMillis the connect timeout in milliseconds.
-     * @param delay Reconnection interval.
-     * @param immediateFail True if the write should fail if no socket is 
immediately available.
-     * @param layout The Layout.
-     * @param bufferSize The buffer size.
-     */
-    public TcpSocketManager(final String name, final OutputStream os, final 
Socket socket, final InetAddress inetAddress,
-                            final String host, final int port, final int 
connectTimeoutMillis, final int delay,
-                            final boolean immediateFail, final Layout<? 
extends Serializable> layout, final int bufferSize) {
-        super(name, os, inetAddress, host, port, layout, true, bufferSize);
-        this.connectTimeoutMillis = connectTimeoutMillis;
-        this.reconnectionDelay = delay;
-        this.socket = socket;
-        this.immediateFail = immediateFail;
-        retry = delay > 0;
-        if (socket == null) {
-            reconnector = createReconnector();
-            reconnector.start();
-        }
-    }
-
-    /**
-     * Obtain a TcpSocketManager.
-     * @param host The host to connect to.
-     * @param port The port on the host.
-     * @param connectTimeoutMillis the connect timeout in milliseconds
-     * @param reconnectDelayMillis The interval to pause between retries.
-     * @param bufferSize The buffer size.
-     * @return A TcpSocketManager.
-     */
-    public static TcpSocketManager getSocketManager(final String host, int 
port, final int connectTimeoutMillis,
-            int reconnectDelayMillis, final boolean immediateFail, final 
Layout<? extends Serializable> layout, final int bufferSize) {
-        if (Strings.isEmpty(host)) {
-            throw new IllegalArgumentException("A host name is required");
-        }
-        if (port <= 0) {
-            port = DEFAULT_PORT;
-        }
-        if (reconnectDelayMillis == 0) {
-            reconnectDelayMillis = DEFAULT_RECONNECTION_DELAY_MILLIS;
-        }
-        return (TcpSocketManager) getManager("TCP:" + host + ':' + port, new 
FactoryData(
-                host, port, connectTimeoutMillis, reconnectDelayMillis, 
immediateFail, layout, bufferSize), FACTORY);
-    }
-
-    @Override
-    protected void write(final byte[] bytes, final int offset, final int 
length, final boolean immediateFlush)  {
-        if (socket == null) {
-            if (reconnector != null && !immediateFail) {
-                reconnector.latch();
-            }
-            if (socket == null) {
-                final String msg = "Error writing to " + getName() + " socket 
not available";
-                throw new AppenderLoggingException(msg);
-            }
-        }
-        synchronized (this) {
-            try {
-                final OutputStream outputStream = getOutputStream();
-                outputStream.write(bytes, offset, length);
-                if (immediateFlush) {
-                    outputStream.flush();
-                }
-            } catch (final IOException ex) {
-                if (retry && reconnector == null) {
-                    reconnector = createReconnector();
-                    reconnector.start();
-                }
-                final String msg = "Error writing to " + getName();
-                throw new AppenderLoggingException(msg, ex);
-            }
-        }
-    }
-
-    @Override
-    protected synchronized boolean closeOutputStream() {
-        boolean closed = super.closeOutputStream();
-        if (reconnector != null) {
-            reconnector.shutdown();
-            reconnector.interrupt();
-            reconnector = null;
-        }
-        final Socket oldSocket = socket;
-        socket = null;
-        if (oldSocket != null) {
-            try {
-                oldSocket.close();
-            } catch (final IOException e) {
-                LOGGER.error("Could not close socket {}", socket);
-                return false;
-            }
-        }
-        return closed;
-    }
-
-    public int getConnectTimeoutMillis() {
-        return connectTimeoutMillis;
-    }
-
-    /**
-     * Gets this TcpSocketManager's content format. Specified by:
-     * <ul>
-     * <li>Key: "protocol" Value: "tcp"</li>
-     * <li>Key: "direction" Value: "out"</li>
-     * </ul>
-     * 
-     * @return Map of content format keys supporting TcpSocketManager
-     */
-    @Override
-    public Map<String, String> getContentFormat() {
-        final Map<String, String> result = new 
HashMap<>(super.getContentFormat());
-        result.put("protocol", "tcp");
-        result.put("direction", "out");
-        return result;
-    }
-
-    /**
-     * Handles reconnecting to a Thread.
-     */
-    private class Reconnector extends Log4jThread {
-
-        private final CountDownLatch latch = new CountDownLatch(1);
-
-        private boolean shutdown = false;
-
-        private final Object owner;
-
-        public Reconnector(final OutputStreamManager owner) {
-            super("TcpSocketManager-Reconnector");
-            this.owner = owner;
-        }
-
-        public void latch()  {
-            try {
-                latch.await();
-            } catch (final InterruptedException ex) {
-                // Ignore the exception.
-            }
-        }
-
-        public void shutdown() {
-            shutdown = true;
-        }
-
-        @Override
-        public void run() {
-            while (!shutdown) {
-                try {
-                    sleep(reconnectionDelay);
-                    final Socket sock = createSocket(inetAddress, port);
-                    final OutputStream newOS = sock.getOutputStream();
-                    synchronized (owner) {
-                        try {
-                            getOutputStream().close();
-                        } catch (final IOException ioe) {
-                            // Ignore this.
-                        }
-
-                        setOutputStream(newOS);
-                        socket = sock;
-                        reconnector = null;
-                        shutdown = true;
-                    }
-                    LOGGER.debug("Connection to " + host + ':' + port + " 
reestablished.");
-                } catch (final InterruptedException ie) {
-                    LOGGER.debug("Reconnection interrupted.");
-                } catch (final ConnectException ex) {
-                    LOGGER.debug(host + ':' + port + " refused connection");
-                } catch (final IOException ioe) {
-                    LOGGER.debug("Unable to reconnect to " + host + ':' + 
port);
-                } finally {
-                    latch.countDown();
-                }
-            }
-        }
-    }
-
-    private Reconnector createReconnector() {
-        final Reconnector recon = new Reconnector(this);
-        recon.setDaemon(true);
-        recon.setPriority(Thread.MIN_PRIORITY);
-        return recon;
-    }
-
-    protected Socket createSocket(final InetAddress host, final int port) 
throws IOException {
-        return createSocket(host.getHostName(), port);
-    }
-
-    protected Socket createSocket(final String host, final int port) throws 
IOException {
-        final InetSocketAddress address = new InetSocketAddress(host, port);
-        final Socket newSocket = new Socket();
-        newSocket.connect(address, connectTimeoutMillis);
-        return newSocket;
-    }
-
-    /**
-     * Data for the factory.
-     */
-    private static class FactoryData {
-        private final String host;
-        private final int port;
-        private final int connectTimeoutMillis;
-        private final int reconnectDelayMillis;
-        private final boolean immediateFail;
-        private final Layout<? extends Serializable> layout;
-        private final int bufferSize;
-
-        public FactoryData(final String host, final int port, final int 
connectTimeoutMillis, final int reconnectDelayMillis,
-                           final boolean immediateFail, final Layout<? extends 
Serializable> layout, final int bufferSize) {
-            this.host = host;
-            this.port = port;
-            this.connectTimeoutMillis = connectTimeoutMillis;
-            this.reconnectDelayMillis = reconnectDelayMillis;
-            this.immediateFail = immediateFail;
-            this.layout = layout;
-            this.bufferSize = bufferSize;
-        }
-    }
-
-    /**
-     * Factory to create a TcpSocketManager.
-     */
-    protected static class TcpSocketManagerFactory implements 
ManagerFactory<TcpSocketManager, FactoryData> {
-        @Override
-        public TcpSocketManager createManager(final String name, final 
FactoryData data) {
-
-            InetAddress inetAddress;
-            OutputStream os;
-            try {
-                inetAddress = InetAddress.getByName(data.host);
-            } catch (final UnknownHostException ex) {
-                LOGGER.error("Could not find address of " + data.host, ex, ex);
-                return null;
-            }
-            try {
-                // LOG4J2-1042
-                final Socket socket = new Socket();
-                socket.connect(new InetSocketAddress(data.host, data.port), 
data.connectTimeoutMillis);
-                os = socket.getOutputStream();
-                return new TcpSocketManager(name, os, socket, inetAddress, 
data.host, data.port,
-                        data.connectTimeoutMillis, data.reconnectDelayMillis, 
data.immediateFail, data.layout, data.bufferSize);
-            } catch (final IOException ex) {
-                LOGGER.error("TcpSocketManager (" + name + ") " + ex, ex);
-                os = NullOutputStream.NULL_OUTPUT_STREAM;
-            }
-            if (data.reconnectDelayMillis == 0) {
-                return null;
-            }
-            return new TcpSocketManager(name, os, null, inetAddress, 
data.host, data.port, data.connectTimeoutMillis,
-                    data.reconnectDelayMillis, data.immediateFail, 
data.layout, data.bufferSize);
-        }
-    }
-
-}
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.net;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.net.ConnectException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.net.UnknownHostException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+
+import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.appender.AppenderLoggingException;
+import org.apache.logging.log4j.core.appender.ManagerFactory;
+import org.apache.logging.log4j.core.appender.OutputStreamManager;
+import org.apache.logging.log4j.core.util.Log4jThread;
+import org.apache.logging.log4j.core.util.NullOutputStream;
+import org.apache.logging.log4j.util.Strings;
+
+/**
+ * Manager of TCP Socket connections.
+ */
+public class TcpSocketManager extends AbstractSocketManager {
+    /**
+      The default reconnection delay (30000 milliseconds or 30 seconds).
+     */
+    public static final int DEFAULT_RECONNECTION_DELAY_MILLIS   = 30000;
+    /**
+      The default port number of remote logging server (4560).
+     */
+    private static final int DEFAULT_PORT = 4560;
+
+    private static final TcpSocketManagerFactory FACTORY = new 
TcpSocketManagerFactory();
+
+    private final int reconnectionDelay;
+
+    private Reconnector reconnector;
+
+    private Socket socket;
+
+    private final boolean retry;
+
+    private final boolean immediateFail;
+    
+    private final int connectTimeoutMillis;
+
+    /**
+     * The Constructor.
+     * @param name The unique name of this connection.
+     * @param os The OutputStream.
+     * @param socket The Socket.
+     * @param inetAddress The Internet address of the host.
+     * @param host The name of the host.
+     * @param port The port number on the host.
+     * @param connectTimeoutMillis the connect timeout in milliseconds.
+     * @param delay Reconnection interval.
+     * @param immediateFail True if the write should fail if no socket is 
immediately available.
+     * @param layout The Layout.
+     * @param bufferSize The buffer size.
+     */
+    public TcpSocketManager(final String name, final OutputStream os, final 
Socket socket, final InetAddress inetAddress,
+                            final String host, final int port, final int 
connectTimeoutMillis, final int delay,
+                            final boolean immediateFail, final Layout<? 
extends Serializable> layout, final int bufferSize) {
+        super(name, os, inetAddress, host, port, layout, true, bufferSize);
+        this.connectTimeoutMillis = connectTimeoutMillis;
+        this.reconnectionDelay = delay;
+        this.socket = socket;
+        this.immediateFail = immediateFail;
+        retry = delay > 0;
+        if (socket == null) {
+            reconnector = createReconnector();
+            reconnector.start();
+        }
+    }
+
+    /**
+     * Obtain a TcpSocketManager.
+     * @param host The host to connect to.
+     * @param port The port on the host.
+     * @param connectTimeoutMillis the connect timeout in milliseconds
+     * @param reconnectDelayMillis The interval to pause between retries.
+     * @param bufferSize The buffer size.
+     * @return A TcpSocketManager.
+     */
+    public static TcpSocketManager getSocketManager(final String host, int 
port, final int connectTimeoutMillis,
+            int reconnectDelayMillis, final boolean immediateFail, final 
Layout<? extends Serializable> layout, final int bufferSize) {
+        if (Strings.isEmpty(host)) {
+            throw new IllegalArgumentException("A host name is required");
+        }
+        if (port <= 0) {
+            port = DEFAULT_PORT;
+        }
+        if (reconnectDelayMillis == 0) {
+            reconnectDelayMillis = DEFAULT_RECONNECTION_DELAY_MILLIS;
+        }
+        return (TcpSocketManager) getManager("TCP:" + host + ':' + port, new 
FactoryData(
+                host, port, connectTimeoutMillis, reconnectDelayMillis, 
immediateFail, layout, bufferSize), FACTORY);
+    }
+
+    @Override
+    protected void write(final byte[] bytes, final int offset, final int 
length, final boolean immediateFlush)  {
+        if (socket == null) {
+            if (reconnector != null && !immediateFail) {
+                reconnector.latch();
+            }
+            if (socket == null) {
+                final String msg = "Error writing to " + getName() + " socket 
not available";
+                throw new AppenderLoggingException(msg);
+            }
+        }
+        synchronized (this) {
+            try {
+                final OutputStream outputStream = getOutputStream();
+                outputStream.write(bytes, offset, length);
+                if (immediateFlush) {
+                    outputStream.flush();
+                }
+            } catch (final IOException ex) {
+                if (retry && reconnector == null) {
+                    reconnector = createReconnector();
+                    reconnector.start();
+                }
+                final String msg = "Error writing to " + getName();
+                throw new AppenderLoggingException(msg, ex);
+            }
+        }
+    }
+
+    @Override
+    protected synchronized boolean closeOutputStream() {
+        boolean closed = super.closeOutputStream();
+        if (reconnector != null) {
+            reconnector.shutdown();
+            reconnector.interrupt();
+            reconnector = null;
+        }
+        final Socket oldSocket = socket;
+        socket = null;
+        if (oldSocket != null) {
+            try {
+                oldSocket.close();
+            } catch (final IOException e) {
+                LOGGER.error("Could not close socket {}", socket);
+                return false;
+            }
+        }
+        return closed;
+    }
+
+    public int getConnectTimeoutMillis() {
+        return connectTimeoutMillis;
+    }
+
+    /**
+     * Gets this TcpSocketManager's content format. Specified by:
+     * <ul>
+     * <li>Key: "protocol" Value: "tcp"</li>
+     * <li>Key: "direction" Value: "out"</li>
+     * </ul>
+     * 
+     * @return Map of content format keys supporting TcpSocketManager
+     */
+    @Override
+    public Map<String, String> getContentFormat() {
+        final Map<String, String> result = new 
HashMap<>(super.getContentFormat());
+        result.put("protocol", "tcp");
+        result.put("direction", "out");
+        return result;
+    }
+
+    /**
+     * Handles reconnecting to a Thread.
+     */
+    private class Reconnector extends Log4jThread {
+
+        private final CountDownLatch latch = new CountDownLatch(1);
+
+        private boolean shutdown = false;
+
+        private final Object owner;
+
+        public Reconnector(final OutputStreamManager owner) {
+            super("TcpSocketManager-Reconnector");
+            this.owner = owner;
+        }
+
+        public void latch()  {
+            try {
+                latch.await();
+            } catch (final InterruptedException ex) {
+                // Ignore the exception.
+            }
+        }
+
+        public void shutdown() {
+            shutdown = true;
+        }
+
+        @Override
+        public void run() {
+            while (!shutdown) {
+                try {
+                    sleep(reconnectionDelay);
+                    final Socket sock = createSocket(inetAddress, port);
+                    final OutputStream newOS = sock.getOutputStream();
+                    synchronized (owner) {
+                        try {
+                            getOutputStream().close();
+                        } catch (final IOException ioe) {
+                            // Ignore this.
+                        }
+
+                        setOutputStream(newOS);
+                        socket = sock;
+                        reconnector = null;
+                        shutdown = true;
+                    }
+                    LOGGER.debug("Connection to " + host + ':' + port + " 
reestablished.");
+                } catch (final InterruptedException ie) {
+                    LOGGER.debug("Reconnection interrupted.");
+                } catch (final ConnectException ex) {
+                    LOGGER.debug(host + ':' + port + " refused connection");
+                } catch (final IOException ioe) {
+                    LOGGER.debug("Unable to reconnect to " + host + ':' + 
port);
+                } finally {
+                    latch.countDown();
+                }
+            }
+        }
+    }
+
+    private Reconnector createReconnector() {
+        final Reconnector recon = new Reconnector(this);
+        recon.setDaemon(true);
+        recon.setPriority(Thread.MIN_PRIORITY);
+        return recon;
+    }
+
+    protected Socket createSocket(final InetAddress host, final int port) 
throws IOException {
+        return createSocket(host.getHostName(), port);
+    }
+
+    protected Socket createSocket(final String host, final int port) throws 
IOException {
+        final InetSocketAddress address = new InetSocketAddress(host, port);
+        final Socket newSocket = new Socket();
+        newSocket.connect(address, connectTimeoutMillis);
+        return newSocket;
+    }
+
+    /**
+     * Data for the factory.
+     */
+    private static class FactoryData {
+        private final String host;
+        private final int port;
+        private final int connectTimeoutMillis;
+        private final int reconnectDelayMillis;
+        private final boolean immediateFail;
+        private final Layout<? extends Serializable> layout;
+        private final int bufferSize;
+
+        public FactoryData(final String host, final int port, final int 
connectTimeoutMillis, final int reconnectDelayMillis,
+                           final boolean immediateFail, final Layout<? extends 
Serializable> layout, final int bufferSize) {
+            this.host = host;
+            this.port = port;
+            this.connectTimeoutMillis = connectTimeoutMillis;
+            this.reconnectDelayMillis = reconnectDelayMillis;
+            this.immediateFail = immediateFail;
+            this.layout = layout;
+            this.bufferSize = bufferSize;
+        }
+    }
+
+    /**
+     * Factory to create a TcpSocketManager.
+     */
+    protected static class TcpSocketManagerFactory implements 
ManagerFactory<TcpSocketManager, FactoryData> {
+        @Override
+        public TcpSocketManager createManager(final String name, final 
FactoryData data) {
+
+            InetAddress inetAddress;
+            OutputStream os;
+            try {
+                inetAddress = InetAddress.getByName(data.host);
+            } catch (final UnknownHostException ex) {
+                LOGGER.error("Could not find address of " + data.host, ex, ex);
+                return null;
+            }
+            try {
+                // LOG4J2-1042
+                final Socket socket = new Socket();
+                socket.connect(new InetSocketAddress(data.host, data.port), 
data.connectTimeoutMillis);
+                os = socket.getOutputStream();
+                return new TcpSocketManager(name, os, socket, inetAddress, 
data.host, data.port,
+                        data.connectTimeoutMillis, data.reconnectDelayMillis, 
data.immediateFail, data.layout, data.bufferSize);
+            } catch (final IOException ex) {
+                LOGGER.error("TcpSocketManager (" + name + ") " + ex, ex);
+                os = NullOutputStream.getInstance();
+            }
+            if (data.reconnectDelayMillis == 0) {
+                return null;
+            }
+            return new TcpSocketManager(name, os, null, inetAddress, 
data.host, data.port, data.connectTimeoutMillis,
+                    data.reconnectDelayMillis, data.immediateFail, 
data.layout, data.bufferSize);
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f73f89b1/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NullOutputStream.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NullOutputStream.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NullOutputStream.java
index 9382f9d..846db3b 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NullOutputStream.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/NullOutputStream.java
@@ -31,11 +31,18 @@ import java.io.OutputStream;
  */
 public class NullOutputStream extends OutputStream {
 
+    private static final NullOutputStream INSTANCE = new NullOutputStream();
+    
     /**
-     * A singleton.
+     * @deprecated Use {@link #getInstance()}.
      */
+    @Deprecated
     public static final NullOutputStream NULL_OUTPUT_STREAM = new 
NullOutputStream();
 
+    public static NullOutputStream getInstance() {
+        return INSTANCE;
+    }
+    
     private NullOutputStream() {
         // do nothing
     }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f73f89b1/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
index fb84266..3cbaa68 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/RandomAccessFileManagerTest.java
@@ -46,7 +46,7 @@ public class RandomAccessFileManagerTest {
     public void testWrite_multiplesOfBufferSize() throws IOException {
         final File file = folder.newFile();
         try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
-            final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
+            final OutputStream os = NullOutputStream.getInstance();
             final RandomAccessFileManager manager = new 
RandomAccessFileManager(null, raf, file.getName(),
                     os, RandomAccessFileManager.DEFAULT_BUFFER_SIZE, null, 
null, true);
 
@@ -67,7 +67,7 @@ public class RandomAccessFileManagerTest {
     public void testWrite_dataExceedingBufferSize() throws IOException {
         final File file = folder.newFile();
         try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
-            final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
+            final OutputStream os = NullOutputStream.getInstance();
             final RandomAccessFileManager manager = new 
RandomAccessFileManager(null, raf, file.getName(),
                     os, RandomAccessFileManager.DEFAULT_BUFFER_SIZE, null, 
null, true);
 
@@ -85,7 +85,7 @@ public class RandomAccessFileManagerTest {
     public void testConfigurableBufferSize() throws IOException {
         final File file = folder.newFile();
         try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
-            final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
+            final OutputStream os = NullOutputStream.getInstance();
             final int bufferSize = 4 * 1024;
             assertNotEquals(bufferSize, 
RandomAccessFileManager.DEFAULT_BUFFER_SIZE);
 
@@ -100,7 +100,7 @@ public class RandomAccessFileManagerTest {
     public void testWrite_dataExceedingMinBufferSize() throws IOException {
         final File file = folder.newFile();
         try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
-            final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
+            final OutputStream os = NullOutputStream.getInstance();
             final int bufferSize = 1;
             final RandomAccessFileManager manager = new 
RandomAccessFileManager(null, raf, file.getName(),
                     os, bufferSize, null, null, true);

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f73f89b1/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
index c9486f0..eb8c095 100644
--- 
a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
+++ 
b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
@@ -51,7 +51,7 @@ public class RollingRandomAccessFileManagerTest {
         final File file = File.createTempFile("log4j2", "test");
         file.deleteOnExit();
         try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
-            final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
+            final OutputStream os = NullOutputStream.getInstance();
             final boolean append = false;
             final boolean flushNow = false;
             final long triggerSize = Long.MAX_VALUE;
@@ -80,7 +80,7 @@ public class RollingRandomAccessFileManagerTest {
         final File file = File.createTempFile("log4j2", "test");
         file.deleteOnExit();
         try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
-            final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
+            final OutputStream os = NullOutputStream.getInstance();
             final boolean append = false;
             final boolean flushNow = false;
             final long triggerSize = 0;
@@ -106,7 +106,7 @@ public class RollingRandomAccessFileManagerTest {
         final File file = File.createTempFile("log4j2", "test");
         file.deleteOnExit();
         try (final RandomAccessFile raf = new RandomAccessFile(file, "rw")) {
-            final OutputStream os = NullOutputStream.NULL_OUTPUT_STREAM;
+            final OutputStream os = NullOutputStream.getInstance();
             final boolean append = false;
             final boolean flushNow = false;
             final long triggerSize = 0;

Reply via email to