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) {
+