You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2017/05/23 15:22:58 UTC

[2/2] logging-log4j2 git commit: LOG4J2-1442 Use java.net.URL

LOG4J2-1442 Use java.net.URL


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

Branch: refs/heads/master
Commit: ea804f9593059f202d90ae139a37e47a7ff1298e
Parents: 8a115ca
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue May 23 17:22:49 2017 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue May 23 17:22:49 2017 +0200

----------------------------------------------------------------------
 .../logging/log4j/core/appender/HttpAppender.java    |  7 ++++---
 .../core/appender/HttpURLConnectionManager.java      | 12 +++++-------
 .../log4j/core/appender/HttpAppenderTest.java        | 15 ++++++++-------
 3 files changed, 17 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ea804f95/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpAppender.java
index 40c387f..5d2ff87 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpAppender.java
@@ -18,6 +18,7 @@
 package org.apache.logging.log4j.core.appender;
 
 import java.io.Serializable;
+import java.net.URL;
 import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 
@@ -49,7 +50,7 @@ public final class HttpAppender extends AbstractAppender {
 
         @PluginBuilderAttribute
         @Required(message = "No URL provided for HttpAppender")
-        private String url;
+        private URL url;
 
         @PluginBuilderAttribute
         private String method = "POST";
@@ -76,7 +77,7 @@ public final class HttpAppender extends AbstractAppender {
             return new HttpAppender(getName(), getLayout(), getFilter(), isIgnoreExceptions(), httpManager);
         }
 
-        public String getUrl() {
+        public URL getUrl() {
             return url;
         }
 
@@ -104,7 +105,7 @@ public final class HttpAppender extends AbstractAppender {
             return verifyHostname;
         }
 
-        public B setUrl(final String url) {
+        public B setUrl(final URL url) {
             this.url = url;
             return asBuilder();
         }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ea804f95/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java
index 923b15f..ab6a584 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/HttpURLConnectionManager.java
@@ -21,7 +21,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
 import java.net.URL;
 import java.nio.charset.Charset;
 import java.util.Objects;
@@ -52,17 +51,15 @@ public class HttpURLConnectionManager extends HttpManager {
     private final boolean verifyHostname;
 
     public HttpURLConnectionManager(final Configuration configuration, LoggerContext loggerContext, final String name,
-                                    final String url, final String method, final int connectTimeoutMillis,
+                                    final URL url, final String method, final int connectTimeoutMillis,
                                     final int readTimeoutMillis,
                                     final Property[] headers,
                                     SslConfiguration sslConfiguration,
                                     boolean verifyHostname) {
         super(configuration, loggerContext, name);
-        this.verifyHostname = verifyHostname;
-        try {
-            this.url = new URL(url);
-        } catch (MalformedURLException e) {
-            throw new ConfigurationException(e);
+        this.url = url;
+        if (!(url.getProtocol().equalsIgnoreCase("http") || url.getProtocol().equalsIgnoreCase("https"))) {
+            throw new ConfigurationException("URL must have scheme http or https");
         }
         this.isHttps = this.url.getProtocol().equalsIgnoreCase("https");
         this.method = Objects.requireNonNull(method, "method");
@@ -73,6 +70,7 @@ public class HttpURLConnectionManager extends HttpManager {
         if (this.sslConfiguration != null && !isHttps) {
             throw new ConfigurationException("SSL configuration can only be specified with URL scheme https");
         }
+        this.verifyHostname = verifyHostname;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ea804f95/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HttpAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HttpAppenderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HttpAppenderTest.java
index 419d340..915c823 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HttpAppenderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/HttpAppenderTest.java
@@ -1,6 +1,7 @@
 package org.apache.logging.log4j.core.appender;
 
 import java.io.IOException;
+import java.net.URL;
 
 import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder;
 import com.github.tomakehurst.wiremock.junit.WireMockRule;
@@ -67,7 +68,7 @@ public class HttpAppenderTest {
             .withName("Http")
             .withLayout(JsonLayout.createDefaultLayout())
             .setConfiguration(ctx.getConfiguration())
-            .setUrl("http://localhost:" + wireMockRule.port() + "/test/log4j/")
+            .setUrl(new URL("http://localhost:" + wireMockRule.port() + "/test/log4j/"))
             .build();
         appender.append(createLogEvent());
 
@@ -86,7 +87,7 @@ public class HttpAppenderTest {
             .withName("Http")
             .withLayout(JsonLayout.createDefaultLayout())
             .setConfiguration(ctx.getConfiguration())
-            .setUrl("https://localhost:" + wireMockRule.httpsPort() + "/test/log4j/")
+            .setUrl(new URL("https://localhost:" + wireMockRule.httpsPort() + "/test/log4j/"))
             .setSslConfiguration(SslConfiguration.createSSLConfiguration(null,
                 KeyStoreConfiguration.createKeyStoreConfiguration(TestConstants.KEYSTORE_FILE, TestConstants.KEYSTORE_PWD, TestConstants.KEYSTORE_TYPE, null),
                 TrustStoreConfiguration.createKeyStoreConfiguration(TestConstants.TRUSTSTORE_FILE, TestConstants.TRUSTSTORE_PWD, TestConstants.TRUSTSTORE_TYPE, null)))
@@ -110,7 +111,7 @@ public class HttpAppenderTest {
             .withLayout(JsonLayout.createDefaultLayout())
             .setConfiguration(ctx.getConfiguration())
             .setMethod("PUT")
-            .setUrl("http://localhost:" + wireMockRule.port() + "/test/log4j/1234")
+            .setUrl(new URL("http://localhost:" + wireMockRule.port() + "/test/log4j/1234"))
             .build();
         appender.append(createLogEvent());
 
@@ -129,7 +130,7 @@ public class HttpAppenderTest {
             .withName("Http")
             .withLayout(JsonLayout.createDefaultLayout())
             .setConfiguration(ctx.getConfiguration())
-            .setUrl("http://localhost:" + wireMockRule.port() + "/test/log4j/")
+            .setUrl(new URL("http://localhost:" + wireMockRule.port() + "/test/log4j/"))
             .setHeaders(new Property[] {
                 Property.createProperty("X-Test", "header value"),
                 Property.createProperty("X-Runtime", "${java:runtime}")
@@ -173,7 +174,7 @@ public class HttpAppenderTest {
             .withName("Http")
             .withLayout(JsonLayout.createDefaultLayout())
             .setConfiguration(ctx.getConfiguration())
-            .setUrl("http://localhost:" + wireMockRule.port() + "/test/log4j/")
+            .setUrl(new URL("http://localhost:" + wireMockRule.port() + "/test/log4j/"))
             .build();
         appender.append(createLogEvent());
 
@@ -197,7 +198,7 @@ public class HttpAppenderTest {
             .withLayout(JsonLayout.createDefaultLayout())
             .setConfiguration(ctx.getConfiguration())
             .withIgnoreExceptions(false)
-            .setUrl("http://localhost:" + wireMockRule.port() + "/test/log4j/")
+            .setUrl(new URL("http://localhost:" + wireMockRule.port() + "/test/log4j/"))
             .build();
         appender.append(createLogEvent());
     }
@@ -209,7 +210,7 @@ public class HttpAppenderTest {
             .withLayout(JsonLayout.createDefaultLayout())
             .setConfiguration(ctx.getConfiguration())
             .withIgnoreExceptions(false)
-            .setUrl("http://localhost:"+(wireMockRule.port()+1)+"/test/log4j/")
+            .setUrl(new URL("http://localhost:"+(wireMockRule.port()+1)+"/test/log4j/"))
             .build();
         appender.append(createLogEvent());
     }