This is an OK dependency IMO, it provides great bang for the buck. (I would
say that of course since I added the dep)

Gary

On Wed, Jan 4, 2017 at 7:30 AM, Matt Sicker <boa...@gmail.com> wrote:

> 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/5
>> bc69e29
>> > Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5
>> bc69e29
>> >
>> > 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/5
>> bc69e29/log4j-core/src/main/java/org/apache/logging/log4j/co
>> re/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/5
>> bc69e29/log4j-core/src/main/java/org/apache/logging/log4j/co
>> re/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/5
>> bc69e29/log4j-core/src/main/java/org/apache/logging/log4j/co
>> re/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>
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to