I think that's from LOG4J2-1604.

On 4 January 2017 at 07:48, Remko Popma <remko.po...@gmail.com> wrote:

> Hey, I just noticed this, but can we remove the dependency on
> com.beust.jcommander for TcpSocketServer? This is a standalone app and it
> would be nice for users if it could be run with just the core and api jars.
>
> Sent from my iPhone
>
> > On Jan 4, 2017, at 12:52, mattsic...@apache.org wrote:
> >
> > Repository: logging-log4j2
> > Updated Branches:
> >  refs/heads/master 89b229755 -> fe4296a4c
> >
> >
> > Refactor duplicate await shutdown code
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
> > Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/
> commit/5bc69e29
> > Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/
> 5bc69e29
> > Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/
> 5bc69e29
> >
> > Branch: refs/heads/master
> > Commit: 5bc69e295bca1714c2c2eca1a848ca3469a3aed8
> > Parents: 89b2297
> > Author: Matt Sicker <matt.sic...@spr.com>
> > Authored: Tue Jan 3 21:39:08 2017 -0600
> > Committer: Matt Sicker <matt.sic...@spr.com>
> > Committed: Tue Jan 3 21:39:08 2017 -0600
> >
> > ----------------------------------------------------------------------
> > .../core/net/server/AbstractSocketServer.java   | 28
> ++++++++++++++++----
> > .../log4j/core/net/server/TcpSocketServer.java  | 24 ++++-------------
> > .../log4j/core/net/server/UdpSocketServer.java  | 18 +++----------
> > 3 files changed, 31 insertions(+), 39 deletions(-)
> > ----------------------------------------------------------------------
> >
> >
> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 5bc69e29/log4j-core/src/main/java/org/apache/logging/log4j/
> core/net/server/AbstractSocketServer.java
> > ----------------------------------------------------------------------
> > diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> net/server/AbstractSocketServer.java b/log4j-core/src/main/java/
> org/apache/logging/log4j/core/net/server/AbstractSocketServer.java
> > index 80ba6f0..9836694 100644
> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/
> AbstractSocketServer.java
> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/server/
> AbstractSocketServer.java
> > @@ -16,13 +16,14 @@
> >  */
> > package org.apache.logging.log4j.core.net.server;
> >
> > +import java.io.BufferedReader;
> > import java.io.File;
> > import java.io.FileInputStream;
> > import java.io.FileNotFoundException;
> > import java.io.IOException;
> > import java.io.InputStream;
> > +import java.io.InputStreamReader;
> > import java.net.InetAddress;
> > -import java.net.MalformedURLException;
> > import java.net.URI;
> > import java.net.URL;
> > import java.util.Objects;
> > @@ -44,10 +45,10 @@ import org.apache.logging.log4j.util.Strings;
> >
> > /**
> >  * Abstract socket server for TCP and UDP implementations.
> > - *
> > + *
> >  * @param <T>
> >  *            The kind of input stream read
> > - *
> > + *
> >  *            TODO Make a LifeCycle
> >  */
> > public abstract class AbstractSocketServer<T extends InputStream>
> extends LogEventListener implements Runnable {
> > @@ -158,7 +159,7 @@ public abstract class AbstractSocketServer<T extends
> InputStream> extends LogEve
> >
> >     /**
> >      * Creates a new socket server.
> > -     *
> > +     *
> >      * @param port
> >      *            listen to this port
> >      * @param logEventInput
> > @@ -179,7 +180,7 @@ public abstract class AbstractSocketServer<T extends
> InputStream> extends LogEve
> >
> >     /**
> >      * Start this server in a new thread.
> > -     *
> > +     *
> >      * @return the new thread that running this server.
> >      */
> >     public Thread startNewThread() {
> > @@ -188,4 +189,21 @@ public abstract class AbstractSocketServer<T
> extends InputStream> extends LogEve
> >         return thread;
> >     }
> >
> > +    public abstract void shutdown() throws Exception;
> > +
> > +    public void awaitTermination(final Thread serverThread) throws
> Exception {
> > +        final BufferedReader reader = new BufferedReader(new
> InputStreamReader(System.in));
> > +        while (true) {
> > +            final String line = reader.readLine();
> > +            if (line == null
> > +                || line.equalsIgnoreCase("quit")
> > +                || line.equalsIgnoreCase("stop")
> > +                || line.equalsIgnoreCase("exit")) {
> > +                this.shutdown();
> > +                serverThread.join();
> > +                break;
> > +            }
> > +        }
> > +    }
> > +
> > }
> >
> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 5bc69e29/log4j-core/src/main/java/org/apache/logging/log4j/
> core/net/server/TcpSocketServer.java
> > ----------------------------------------------------------------------
> > diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> net/server/TcpSocketServer.java b/log4j-core/src/main/java/
> org/apache/logging/log4j/core/net/server/TcpSocketServer.java
> > index 636e6f4..e86b382 100644
> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> net/server/TcpSocketServer.java
> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> net/server/TcpSocketServer.java
> > @@ -16,29 +16,25 @@
> >  */
> > package org.apache.logging.log4j.core.net.server;
> >
> > -import java.io.BufferedReader;
> > import java.io.EOFException;
> > import java.io.IOException;
> > import java.io.InputStream;
> > -import java.io.InputStreamReader;
> > import java.io.ObjectInputStream;
> > import java.io.OptionalDataException;
> > import java.net.InetAddress;
> > import java.net.ServerSocket;
> > import java.net.Socket;
> > -import java.nio.charset.Charset;
> > import java.util.Map;
> > import java.util.concurrent.ConcurrentHashMap;
> > import java.util.concurrent.ConcurrentMap;
> >
> > +import com.beust.jcommander.Parameter;
> > +import com.beust.jcommander.validators.PositiveInteger;
> > import org.apache.logging.log4j.core.config.ConfigurationFactory;
> > import org.apache.logging.log4j.core.util.BasicCommandLineArguments;
> > import org.apache.logging.log4j.core.util.Log4jThread;
> > import org.apache.logging.log4j.message.EntryMessage;
> >
> > -import com.beust.jcommander.Parameter;
> > -import com.beust.jcommander.validators.PositiveInteger;
> > -
> > /**
> >  * Listens for Log4j events on a TCP server socket and passes them on to
> Log4j.
> >  *
> > @@ -194,20 +190,9 @@ public class TcpSocketServer<T extends InputStream>
> extends AbstractSocketServer
> >         }
> >         final TcpSocketServer<ObjectInputStream> socketServer =
> TcpSocketServer
> >                 .createSerializedSocketServer(cla.getPort(),
> cla.getBacklog(), cla.getLocalBindAddress());
> > -        final Thread serverThread = new Log4jThread(socketServer);
> > -        serverThread.start();
> > +        final Thread serverThread = socketServer.startNewThread();
> >         if (cla.isInteractive()) {
> > -            final Charset enc = Charset.defaultCharset();
> > -            final BufferedReader reader = new BufferedReader(new
> InputStreamReader(System.in, enc));
> > -            while (true) {
> > -                final String line = reader.readLine();
> > -                if (line == null || line.equalsIgnoreCase("Quit") ||
> line.equalsIgnoreCase("Stop")
> > -                        || line.equalsIgnoreCase("Exit")) {
> > -                    socketServer.shutdown();
> > -                    serverThread.join();
> > -                    break;
> > -                }
> > -            }
> > +            socketServer.awaitTermination(serverThread);
> >         }
> >     }
> >
> > @@ -321,6 +306,7 @@ public class TcpSocketServer<T extends InputStream>
> extends AbstractSocketServer
> >      *
> >      * @throws IOException if the server socket could not be closed
> >      */
> > +    @Override
> >     public void shutdown() throws IOException {
> >         final EntryMessage entry = logger.traceEntry();
> >         setActive(false);
> >
> > http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/
> 5bc69e29/log4j-core/src/main/java/org/apache/logging/log4j/
> core/net/server/UdpSocketServer.java
> > ----------------------------------------------------------------------
> > diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> net/server/UdpSocketServer.java b/log4j-core/src/main/java/
> org/apache/logging/log4j/core/net/server/UdpSocketServer.java
> > index 427a365..ed04f69 100644
> > --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/
> net/server/UdpSocketServer.java
> > +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/
> net/server/UdpSocketServer.java
> > @@ -16,12 +16,10 @@
> >  */
> > package org.apache.logging.log4j.core.net.server;
> >
> > -import java.io.BufferedReader;
> > import java.io.ByteArrayInputStream;
> > import java.io.EOFException;
> > import java.io.IOException;
> > import java.io.InputStream;
> > -import java.io.InputStreamReader;
> > import java.io.ObjectInputStream;
> > import java.io.OptionalDataException;
> > import java.net.DatagramPacket;
> > @@ -29,7 +27,6 @@ import java.net.DatagramSocket;
> >
> > import org.apache.logging.log4j.core.config.ConfigurationFactory;
> > import org.apache.logging.log4j.core.util.BasicCommandLineArguments;
> > -import org.apache.logging.log4j.core.util.Log4jThread;
> >
> > /**
> >  * Listens for Log4j events on a datagram socket and passes them on to
> Log4j.
> > @@ -97,19 +94,9 @@ public class UdpSocketServer<T extends InputStream>
> extends AbstractSocketServer
> >         }
> >         final UdpSocketServer<ObjectInputStream> socketServer =
> UdpSocketServer
> >                 .createSerializedSocketServer(cla.getPort());
> > -        final Thread serverThread = new Log4jThread(socketServer);
> > -        serverThread.start();
> > +        final Thread serverThread = socketServer.startNewThread();
> >         if (cla.isInteractive()) {
> > -            final BufferedReader reader = new BufferedReader(new
> InputStreamReader(System.in));
> > -            while (true) {
> > -                final String line = reader.readLine();
> > -                if (line == null || line.equalsIgnoreCase("Quit") ||
> line.equalsIgnoreCase("Stop")
> > -                        || line.equalsIgnoreCase("Exit")) {
> > -                    socketServer.shutdown();
> > -                    serverThread.join();
> > -                    break;
> > -                }
> > -            }
> > +            socketServer.awaitTermination(serverThread);
> >         }
> >     }
> >
> > @@ -173,6 +160,7 @@ public class UdpSocketServer<T extends InputStream>
> extends AbstractSocketServer
> >     /**
> >      * Shutdown the server.
> >      */
> > +    @Override
> >     public void shutdown() {
> >         this.setActive(false);
> >         Thread.currentThread().interrupt();
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
> For additional commands, e-mail: log4j-dev-h...@logging.apache.org
>
>


-- 
Matt Sicker <boa...@gmail.com>

Reply via email to