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>