This is an automated email from the ASF dual-hosted git repository. mattsicker pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit fe1c85ffa6bf0e048d4293f04477d9414da44cf8 Author: Matt Sicker <[email protected]> AuthorDate: Sun Oct 15 19:30:04 2023 -0500 Remove cached SslConfigurationFactory::getSslConfiguration Signed-off-by: Matt Sicker <[email protected]> --- .../log4j/core/net/UrlConnectionFactoryTest.java | 4 +-- .../core/net/ssl/SslConfigurationFactoryTest.java | 8 ++--- .../log4j/core/config/ConfigurationSource.java | 2 +- .../logging/log4j/core/config/HttpWatcher.java | 21 ++++++++----- .../core/filter/MutableThreadContextMapFilter.java | 35 +++++++++++++++------- .../log4j/core/net/UrlConnectionFactory.java | 12 ++++---- .../core/net/ssl/SslConfigurationFactory.java | 12 +------- .../core/util/internal/HttpInputStreamUtil.java | 25 +++++----------- .../spring/boot/Log4j2SpringBootLoggingSystem.java | 7 ++--- 9 files changed, 63 insertions(+), 63 deletions(-) diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/UrlConnectionFactoryTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/UrlConnectionFactoryTest.java index 39e4a330a7..534d4c6136 100644 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/UrlConnectionFactoryTest.java +++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/UrlConnectionFactoryTest.java @@ -37,6 +37,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.config.ConfigurationSource; import org.apache.logging.log4j.core.config.ConfigurationSourceTest; +import org.apache.logging.log4j.util.PropertiesUtil; import org.eclipse.jetty.http.HttpHeader; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; @@ -73,7 +74,6 @@ public class UrlConnectionFactoryTest { private static Server server; private static final Base64.Decoder decoder = Base64.getDecoder(); private static int port; - private static final int BUF_SIZE = 1024; @BeforeAll public static void startServer() throws Exception { @@ -134,7 +134,7 @@ public class UrlConnectionFactoryTest { private int verifyNotModified(final URI uri, final long lastModifiedMillis) throws Exception { final HttpURLConnection urlConnection = UrlConnectionFactory.createConnection(uri.toURL(), - lastModifiedMillis, null, null); + lastModifiedMillis, null, null, PropertiesUtil.getProperties()); urlConnection.connect(); try { diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java index 707f4c8e50..9c691b4475 100644 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java +++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java @@ -43,13 +43,13 @@ public class SslConfigurationFactoryTest { final Properties props = new Properties(); final PropertiesUtil util = new PropertiesUtil(props); // No keystore and truststore -> no SslConfiguration - SslConfiguration sslConfiguration = SslConfigurationFactory.createSslConfiguration(util); + SslConfiguration sslConfiguration = SslConfigurationFactory.getSslConfiguration(util); assertNull(sslConfiguration); // Only keystore props.clear(); addKeystoreConfiguration(props); util.reload(); - sslConfiguration = SslConfigurationFactory.createSslConfiguration(util); + sslConfiguration = SslConfigurationFactory.getSslConfiguration(util); assertNotNull(sslConfiguration); assertNotNull(sslConfiguration.getKeyStoreConfig()); assertNull(sslConfiguration.getTrustStoreConfig()); @@ -57,7 +57,7 @@ public class SslConfigurationFactoryTest { props.clear(); addTruststoreConfiguration(props); util.reload(); - sslConfiguration = SslConfigurationFactory.createSslConfiguration(util); + sslConfiguration = SslConfigurationFactory.getSslConfiguration(util); assertNotNull(sslConfiguration); assertNull(sslConfiguration.getKeyStoreConfig()); assertNotNull(sslConfiguration.getTrustStoreConfig()); @@ -66,7 +66,7 @@ public class SslConfigurationFactoryTest { addKeystoreConfiguration(props); addTruststoreConfiguration(props); util.reload(); - sslConfiguration = SslConfigurationFactory.createSslConfiguration(util); + sslConfiguration = SslConfigurationFactory.getSslConfiguration(util); assertNotNull(sslConfiguration); assertNotNull(sslConfiguration.getKeyStoreConfig()); assertNotNull(sslConfiguration.getTrustStoreConfig()); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java index 08c33868e8..75e1c05295 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java @@ -333,7 +333,7 @@ public class ConfigurationSource { final AuthorizationProvider provider = AuthorizationProvider.getAuthorizationProvider(props); provider.addAuthorization(urlConnection); if (url.getProtocol().equals(HTTPS)) { - final SslConfiguration sslConfiguration = SslConfigurationFactory.getSslConfiguration(); + final SslConfiguration sslConfiguration = SslConfigurationFactory.getSslConfiguration(props); if (sslConfiguration != null) { ((HttpsURLConnection) urlConnection).setSSLSocketFactory(sslConfiguration.getSslSocketFactory()); if (!sslConfiguration.isVerifyHostName()) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java index 727e5cc481..0d7493c356 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java @@ -17,6 +17,7 @@ package org.apache.logging.log4j.core.config; import java.io.IOException; +import java.io.InputStream; import java.net.MalformedURLException; import java.net.URISyntaxException; import java.net.URL; @@ -35,7 +36,6 @@ import org.apache.logging.log4j.plugins.Namespace; import org.apache.logging.log4j.plugins.Plugin; import org.apache.logging.log4j.plugins.PluginAliases; import org.apache.logging.log4j.status.StatusLogger; -import org.apache.logging.log4j.util.PropertiesUtil; import org.apache.logging.log4j.util.PropertyEnvironment; /** @@ -48,8 +48,9 @@ public class HttpWatcher extends AbstractWatcher { private final Logger LOGGER = StatusLogger.getLogger(); + private final PropertyEnvironment properties; private final SslConfiguration sslConfiguration; - private AuthorizationProvider authorizationProvider; + private final AuthorizationProvider authorizationProvider; private URL url; private volatile long lastModifiedMillis; private static final String HTTP = "http"; @@ -58,7 +59,9 @@ public class HttpWatcher extends AbstractWatcher { public HttpWatcher(final Configuration configuration, final Reconfigurable reconfigurable, final List<ConfigurationListener> configurationListeners, final long lastModifiedMillis) { super(configuration, reconfigurable, configurationListeners); - sslConfiguration = SslConfigurationFactory.getSslConfiguration(); + properties = configuration.getContextProperties(); + sslConfiguration = SslConfigurationFactory.getSslConfiguration(properties); + authorizationProvider = AuthorizationProvider.getAuthorizationProvider(properties); this.lastModifiedMillis = lastModifiedMillis; } @@ -80,8 +83,6 @@ public class HttpWatcher extends AbstractWatcher { } try { url = source.getURI().toURL(); - final PropertyEnvironment props = PropertiesUtil.getProperties(); - authorizationProvider = AuthorizationProvider.getAuthorizationProvider(props); } catch (final MalformedURLException ex) { throw new IllegalArgumentException("Invalid URL for HttpWatcher " + source.getURI(), ex); } @@ -101,7 +102,8 @@ public class HttpWatcher extends AbstractWatcher { private boolean refreshConfiguration() { try { final LastModifiedSource source = new LastModifiedSource(url.toURI(), lastModifiedMillis); - final HttpInputStreamUtil.Result result = HttpInputStreamUtil.getInputStream(source, authorizationProvider); + final HttpInputStreamUtil.Result result = HttpInputStreamUtil.getInputStream( + source, properties, authorizationProvider, sslConfiguration); switch (result.getStatus()) { case NOT_MODIFIED: { LOGGER.debug("Configuration Not Modified"); @@ -110,8 +112,11 @@ public class HttpWatcher extends AbstractWatcher { case SUCCESS: { final ConfigurationSource configSource = getConfiguration().getConfigurationSource(); try { - configSource.setData(HttpInputStreamUtil.readStream(result.getInputStream())); - configSource.setModifiedMillis(source.getLastModified()); + final InputStream is = result.getInputStream(); + configSource.setData(is.readAllBytes()); + final long lastModified = source.getLastModified(); + configSource.setModifiedMillis(lastModified); + lastModifiedMillis = lastModified; LOGGER.debug("Content was modified for {}", url.toString()); return true; } catch (final IOException e) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java index 8b63114338..86ca007b8a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java @@ -30,6 +30,7 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.core.ContextDataInjector; import org.apache.logging.log4j.core.Filter; import org.apache.logging.log4j.core.LogEvent; import org.apache.logging.log4j.core.Logger; @@ -38,7 +39,8 @@ import org.apache.logging.log4j.core.config.ConfigurationException; import org.apache.logging.log4j.core.config.ConfigurationScheduler; import org.apache.logging.log4j.core.config.plugins.PluginConfiguration; import org.apache.logging.log4j.core.filter.mutable.KeyValuePairConfig; -import org.apache.logging.log4j.core.impl.ContextDataInjectorFactory; +import org.apache.logging.log4j.core.net.ssl.SslConfiguration; +import org.apache.logging.log4j.core.net.ssl.SslConfigurationFactory; import org.apache.logging.log4j.core.util.AuthorizationProvider; import org.apache.logging.log4j.core.util.KeyValuePair; import org.apache.logging.log4j.core.util.internal.HttpInputStreamUtil; @@ -51,7 +53,6 @@ import org.apache.logging.log4j.plugins.PluginAliases; import org.apache.logging.log4j.plugins.PluginAttribute; import org.apache.logging.log4j.plugins.PluginFactory; import org.apache.logging.log4j.util.PerformanceSensitive; -import org.apache.logging.log4j.util.PropertiesUtil; import org.apache.logging.log4j.util.PropertyEnvironment; /** @@ -72,6 +73,7 @@ public final class MutableThreadContextMapFilter extends AbstractFilter { private final ConfigurationScheduler scheduler; private final LastModifiedSource source; private final AuthorizationProvider authorizationProvider; + private final Configuration configuration; private final List<FilterConfigUpdateListener> listeners = new ArrayList<>(); private ScheduledFuture<?> future = null; @@ -84,6 +86,7 @@ public final class MutableThreadContextMapFilter extends AbstractFilter { this.source = source; this.scheduler = configuration.getScheduler(); this.authorizationProvider = authorizationProvider; + this.configuration = configuration; } @Override @@ -199,7 +202,7 @@ public final class MutableThreadContextMapFilter extends AbstractFilter { } public static class Builder extends AbstractFilterBuilder<Builder> - implements org.apache.logging.log4j.core.util.Builder<MutableThreadContextMapFilter> { + implements org.apache.logging.log4j.plugins.util.Builder<MutableThreadContextMapFilter> { @PluginAttribute private String configLocation; @@ -247,16 +250,22 @@ public final class MutableThreadContextMapFilter extends AbstractFilter { return new MutableThreadContextMapFilter(new NoOpFilter(), null, 0, null, getOnMatch(), getOnMismatch(), configuration); } - final PropertyEnvironment props = PropertiesUtil.getProperties(); + final PropertyEnvironment props = configuration.getContextProperties(); final AuthorizationProvider authorizationProvider = AuthorizationProvider.getAuthorizationProvider(props); + final SslConfiguration sslConfiguration = SslConfigurationFactory.getSslConfiguration(props); Filter filter; if (pollInterval <= 0) { - final ConfigResult result = getConfig(source, authorizationProvider); + final ConfigResult result = getConfig(source, authorizationProvider, props, sslConfiguration); if (result.status == Status.SUCCESS) { if (result.pairs.length > 0) { - filter = ThreadContextMapFilter.createFilter(result.pairs, "or", - getOnMatch(), getOnMismatch()); + filter = ThreadContextMapFilter.newBuilder() + .setPairs(result.pairs) + .setOperator("or") + .setOnMatch(getOnMatch()) + .setOnMismatch(getOnMismatch()) + .setContextDataInjector(configuration.getComponent(ContextDataInjector.KEY)) + .get(); } else { filter = new NoOpFilter(); } @@ -282,14 +291,16 @@ public final class MutableThreadContextMapFilter extends AbstractFilter { @Override public void run() { - final ConfigResult result = getConfig(source, authorizationProvider); + final PropertyEnvironment properties = configuration.getContextProperties(); + final SslConfiguration sslConfiguration = SslConfigurationFactory.getSslConfiguration(properties); + final ConfigResult result = getConfig(source, authorizationProvider, properties, sslConfiguration); if (result.status == Status.SUCCESS) { filter = ThreadContextMapFilter.newBuilder() .setPairs(result.pairs) .setOperator("or") .setOnMatch(getOnMatch()) .setOnMismatch(getOnMismatch()) - .setContextDataInjector(ContextDataInjectorFactory.createInjector()) + .setContextDataInjector(configuration.getComponent(ContextDataInjector.KEY)) .get(); LOGGER.info("Filter configuration was updated: {}", filter.toString()); for (FilterConfigUpdateListener listener : listeners) { @@ -327,7 +338,9 @@ public final class MutableThreadContextMapFilter extends AbstractFilter { } private static ConfigResult getConfig(final LastModifiedSource source, - final AuthorizationProvider authorizationProvider) { + final AuthorizationProvider authorizationProvider, + final PropertyEnvironment props, + final SslConfiguration sslConfiguration) { final File inputFile = source.getFile(); InputStream inputStream = null; HttpInputStreamUtil.Result result = null; @@ -347,7 +360,7 @@ public final class MutableThreadContextMapFilter extends AbstractFilter { } } else if (source.getURI() != null) { try { - result = HttpInputStreamUtil.getInputStream(source, authorizationProvider); + result = HttpInputStreamUtil.getInputStream(source, props, authorizationProvider, sslConfiguration); inputStream = result.getInputStream(); } catch (ConfigurationException ex) { result = new HttpInputStreamUtil.Result(Status.ERROR); diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java index 8248aae9cb..bb5a448086 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/UrlConnectionFactory.java @@ -58,9 +58,10 @@ public class UrlConnectionFactory { public static final String ALLOWED_PROTOCOLS = "log4j2.Configuration.allowedProtocols"; public static <T extends URLConnection> T createConnection(final URL url, final long lastModifiedMillis, - final SslConfiguration sslConfiguration, final AuthorizationProvider authorizationProvider) + final SslConfiguration sslConfiguration, + final AuthorizationProvider authorizationProvider, + final PropertyEnvironment props) throws IOException { - final PropertyEnvironment props = PropertiesUtil.getProperties(); final List<String> allowed = Arrays.asList(Strings.splitList(toRootLowerCase(props .getStringProperty(ALLOWED_PROTOCOLS, DEFAULT_ALLOWED_PROTOCOLS)))); if (allowed.size() == 1 && NO_PROTOCOLS.equals(allowed.get(0))) { @@ -73,7 +74,7 @@ public class UrlConnectionFactory { if (!allowed.contains(protocol)) { throw new ProtocolException("Protocol " + protocol + " has not been enabled as an allowed protocol"); } - URLConnection urlConnection; + final URLConnection urlConnection; if (url.getProtocol().equals(HTTP) || url.getProtocol().equals(HTTPS)) { final HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection(); if (authorizationProvider != null) { @@ -113,11 +114,12 @@ public class UrlConnectionFactory { } public static URLConnection createConnection(final URL url) throws IOException { - URLConnection urlConnection = null; + final URLConnection urlConnection; if (url.getProtocol().equals(HTTPS) || url.getProtocol().equals(HTTP)) { final PropertyEnvironment props = PropertiesUtil.getProperties(); final AuthorizationProvider provider = AuthorizationProvider.getAuthorizationProvider(props); - urlConnection = createConnection(url, 0, SslConfigurationFactory.getSslConfiguration(), provider); + final SslConfiguration sslConfiguration = SslConfigurationFactory.getSslConfiguration(props); + urlConnection = createConnection(url, 0, sslConfiguration, provider, props); } else { urlConnection = url.openConnection(); if (urlConnection instanceof JarURLConnection) { diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactory.java index d7471852a3..cacd929eb3 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactory.java @@ -19,8 +19,6 @@ package org.apache.logging.log4j.core.net.ssl; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.impl.Log4jPropertyKey; import org.apache.logging.log4j.status.StatusLogger; -import org.apache.logging.log4j.util.Lazy; -import org.apache.logging.log4j.util.PropertiesUtil; import org.apache.logging.log4j.util.PropertyEnvironment; /** @@ -30,12 +28,7 @@ public class SslConfigurationFactory { private static final Logger LOGGER = StatusLogger.getLogger(); - private static final Lazy<SslConfiguration> SSL_CONFIGURATION = Lazy.lazy(() -> { - final PropertyEnvironment props = PropertiesUtil.getProperties(); - return createSslConfiguration(props); - }); - - static SslConfiguration createSslConfiguration(final PropertyEnvironment props) { + public static SslConfiguration getSslConfiguration(final PropertyEnvironment props) { KeyStoreConfiguration keyStoreConfiguration = null; TrustStoreConfiguration trustStoreConfiguration = null; String location = props.getStringProperty(Log4jPropertyKey.TRANSPORT_SECURITY_TRUST_STORE_LOCATION); @@ -82,7 +75,4 @@ public class SslConfigurationFactory { return null; } - public static SslConfiguration getSslConfiguration() { - return SSL_CONFIGURATION.value(); - } } diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/HttpInputStreamUtil.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/HttpInputStreamUtil.java index 3046252201..3ba82c4193 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/HttpInputStreamUtil.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/internal/HttpInputStreamUtil.java @@ -17,7 +17,6 @@ package org.apache.logging.log4j.core.util.internal; import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; @@ -25,9 +24,10 @@ import java.net.HttpURLConnection; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.config.ConfigurationException; import org.apache.logging.log4j.core.net.UrlConnectionFactory; -import org.apache.logging.log4j.core.net.ssl.SslConfigurationFactory; +import org.apache.logging.log4j.core.net.ssl.SslConfiguration; import org.apache.logging.log4j.core.util.AuthorizationProvider; import org.apache.logging.log4j.status.StatusLogger; +import org.apache.logging.log4j.util.PropertyEnvironment; /** * Utility method for reading data from an HTTP InputStream. @@ -39,15 +39,16 @@ public final class HttpInputStreamUtil { private static final int NOT_AUTHORIZED = 401; private static final int NOT_FOUND = 404; private static final int OK = 200; - private static final int BUF_SIZE = 1024; public static Result getInputStream(final LastModifiedSource source, - final AuthorizationProvider authorizationProvider) { + final PropertyEnvironment props, + final AuthorizationProvider authorizationProvider, + final SslConfiguration sslConfiguration) { final Result result = new Result(); try { final long lastModified = source.getLastModified(); final HttpURLConnection connection = UrlConnectionFactory.createConnection(source.getURI().toURL(), - lastModified, SslConfigurationFactory.getSslConfiguration(), authorizationProvider); + lastModified, sslConfiguration, authorizationProvider, props); connection.connect(); try { final int code = connection.getResponseCode(); @@ -68,12 +69,12 @@ public final class HttpInputStreamUtil { LOGGER.debug("Content was modified for {}. previous lastModified: {}, new lastModified: {}", source.toString(), lastModified, connection.getLastModified()); result.status = Status.SUCCESS; - result.inputStream = new ByteArrayInputStream(readStream(is)); + result.inputStream = new ByteArrayInputStream(is.readAllBytes()); return result; } catch (final IOException e) { try (final InputStream es = connection.getErrorStream()) { LOGGER.info("Error accessing configuration at {}: {}", source.toString(), - readStream(es)); + es.readAllBytes()); } catch (final IOException ioe) { LOGGER.error("Error accessing configuration at {}: {}", source.toString(), e.getMessage()); @@ -102,16 +103,6 @@ public final class HttpInputStreamUtil { } } - public static byte[] readStream(final InputStream is) throws IOException { - final ByteArrayOutputStream result = new ByteArrayOutputStream(); - final byte[] buffer = new byte[BUF_SIZE]; - int length; - while ((length = is.read(buffer)) != -1) { - result.write(buffer, 0, length); - } - return result.toByteArray(); - } - public static class Result { private InputStream inputStream; diff --git a/log4j-spring-boot/src/main/java/org/apache/logging/log4j/spring/boot/Log4j2SpringBootLoggingSystem.java b/log4j-spring-boot/src/main/java/org/apache/logging/log4j/spring/boot/Log4j2SpringBootLoggingSystem.java index e4f03c6efb..d6e68d0bc5 100644 --- a/log4j-spring-boot/src/main/java/org/apache/logging/log4j/spring/boot/Log4j2SpringBootLoggingSystem.java +++ b/log4j-spring-boot/src/main/java/org/apache/logging/log4j/spring/boot/Log4j2SpringBootLoggingSystem.java @@ -31,7 +31,6 @@ import java.util.Collections; import java.util.List; import java.util.Properties; -import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.AbstractConfiguration; @@ -230,9 +229,9 @@ public class Log4j2SpringBootLoggingSystem extends Log4J2LoggingSystem { final PropertyEnvironment props = PropertiesUtil.getProperties(); final AuthorizationProvider provider = AuthorizationProvider.getAuthorizationProvider(props); final SslConfiguration sslConfiguration = url.getProtocol().equals(HTTPS) - ? SslConfigurationFactory.getSslConfiguration() : null; + ? SslConfigurationFactory.getSslConfiguration(props) : null; final URLConnection urlConnection = UrlConnectionFactory.createConnection(url, 0, sslConfiguration, - provider); + provider, props); final File file = FileUtils.fileFromUri(url.toURI()); try { @@ -248,7 +247,7 @@ public class Log4j2SpringBootLoggingSystem extends Log4J2LoggingSystem { } private LoggerContext getLoggerContext() { - return (LoggerContext) LogManager.getContext(false); + return LoggerContext.getContext(false); } @Order(PRECEDENCE)
