logging-log4j2 git commit: [LOG4J2-1604] Log4j2 TcpSocketServer in background. Docs.

2016-09-21 Thread ggregory
Repository: logging-log4j2
Updated Branches:
  refs/heads/master ee87a184c -> fe7a0a805


[LOG4J2-1604] Log4j2 TcpSocketServer in background. Docs.

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

Branch: refs/heads/master
Commit: fe7a0a8051fe628fc97a574b5fdc99efd0fb5f4c
Parents: ee87a18
Author: Gary Gregory 
Authored: Wed Sep 21 18:00:19 2016 -0700
Committer: Gary Gregory 
Committed: Wed Sep 21 18:00:19 2016 -0700

--
 src/site/xdoc/runtime-dependencies.xml | 7 +++
 1 file changed, 7 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/fe7a0a80/src/site/xdoc/runtime-dependencies.xml
--
diff --git a/src/site/xdoc/runtime-dependencies.xml 
b/src/site/xdoc/runtime-dependencies.xml
index b4b2368..29c2015 100644
--- a/src/site/xdoc/runtime-dependencies.xml
+++ b/src/site/xdoc/runtime-dependencies.xml
@@ -138,6 +138,13 @@
 files COPYING and COPYING.LESSER 
included with the JeroMQ distribution.
   
 
+
+  TcpSocketServer and UdpSocketServer
+  
+TcpSocketServer and UdpSocketServer use the http://www.jcommander.org/";>JCommander library 
+which is licensed under the terms of the Apache License version 
2.0.
+  
+
   
 
   



logging-log4j2 git commit: [LOG4J2-1604] Log4j2 TcpSocketServer in background.

2016-09-21 Thread ggregory
Repository: logging-log4j2
Updated Branches:
  refs/heads/master 8729b28d0 -> ee87a184c


[LOG4J2-1604] Log4j2 TcpSocketServer in background.

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

Branch: refs/heads/master
Commit: ee87a184c7ccbfe03234782ebd6cc76c954a4a3c
Parents: 8729b28
Author: Gary Gregory 
Authored: Wed Sep 21 16:19:43 2016 -0700
Committer: Gary Gregory 
Committed: Wed Sep 21 16:19:43 2016 -0700

--
 log4j-core/pom.xml  |   6 +
 .../core/net/server/AbstractSocketServer.java   |  93 +-
 .../log4j/core/net/server/TcpSocketServer.java  | 180 ---
 .../log4j/core/net/server/UdpSocketServer.java  |  83 -
 .../log4j/core/util/InetAddressConverter.java   |  19 ++
 pom.xml |   5 +
 src/changes/changes.xml |   3 +
 7 files changed, 277 insertions(+), 112 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ee87a184/log4j-core/pom.xml
--
diff --git a/log4j-core/pom.xml b/log4j-core/pom.xml
index 6142dad..120404b 100644
--- a/log4j-core/pom.xml
+++ b/log4j-core/pom.xml
@@ -144,6 +144,12 @@
   commons-csv
   true
 
+
+
+  com.beust
+  jcommander
+  true
+
 
 
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ee87a184/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 7350e6d..8e24c25 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
@@ -21,6 +21,7 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.net.InetAddress;
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URL;
@@ -34,18 +35,85 @@ import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.ConfigurationSource;
 import org.apache.logging.log4j.core.config.xml.XmlConfiguration;
 import org.apache.logging.log4j.core.config.xml.XmlConfigurationFactory;
+import org.apache.logging.log4j.core.util.InetAddressConverter;
 import org.apache.logging.log4j.core.util.Log4jThread;
 import org.apache.logging.log4j.util.Strings;
 
+import com.beust.jcommander.JCommander;
+import com.beust.jcommander.Parameter;
+import com.beust.jcommander.validators.PositiveInteger;
+
 /**
  * Abstract socket server for TCP and UDP implementations.
  * 
- * @param  The kind of input stream read
+ * @param 
+ *The kind of input stream read
  * 
- * TODO Make a LifeCycle
+ *TODO Make a LifeCycle
  */
 public abstract class AbstractSocketServer extends 
LogEventListener implements Runnable {
 
+protected static class CommandLineArguments {
+
+@Parameter(names = { "--config", "-c" }, description = "Log4j 
configuration file location (path or URL).")
+private String configLocation;
+
+@Parameter(names = { "--help", "-?", "-h" }, help = true, description 
= "Prints this help.")
+private boolean help;
+
+@Parameter(names = { "--interactive",
+"-i" }, description = "Accepts commands on standard input 
(\"exit\" is the only command).")
+private boolean interactive;
+
+@Parameter(names = { "--port",
+"-p" }, validateWith = PositiveInteger.class, description = 
"Server socket port.")
+private int port;
+
+@Parameter(names = { "--localbindaddress",
+"-a" }, converter = InetAddressConverter.class, description = 
"Server socket local bind address.")
+private InetAddress localBindAddress;
+
+String getConfigLocation() {
+return configLocation;
+}
+
+int getPort() {
+return port;
+}
+
+boolean isHelp() {
+return help;
+}
+
+protected boolean isInteractive() {
+return interactive;
+}
+
+void setConfigLocation(final String configLocation) {
+this.configLocation = configLocation;
+}
+
+void setHelp(final boolean help) {
+