1717package org .springframework .boot .logging .log4j2 ;
1818
1919import java .io .IOException ;
20+ import java .io .InputStream ;
2021import java .net .URL ;
2122import java .net .URLConnection ;
2223import java .util .ArrayList ;
@@ -284,13 +285,11 @@ protected void loadConfiguration(String location, LogFile logFile, List<String>
284285
285286 private Configuration load (String location , LoggerContext context ) throws IOException {
286287 Resource resource = ApplicationResourceLoader .get ().getResource (location );
287- ConfigurationSource source = getConfigurationSource (resource );
288- return ConfigurationFactory .getInstance ().getConfiguration (context , source );
289- }
290-
291- private ConfigurationSource getConfigurationSource (Resource resource ) throws IOException {
288+ ConfigurationFactory factory = ConfigurationFactory .getInstance ();
292289 if (resource .isFile ()) {
293- return new ConfigurationSource (resource .getInputStream (), resource .getFile ());
290+ try (InputStream inputStream = resource .getInputStream ()) {
291+ return factory .getConfiguration (context , new ConfigurationSource (inputStream , resource .getFile ()));
292+ }
294293 }
295294 URL url = resource .getURL ();
296295 AuthorizationProvider authorizationProvider = ConfigurationFactory
@@ -299,7 +298,10 @@ private ConfigurationSource getConfigurationSource(Resource resource) throws IOE
299298 ? SslConfigurationFactory .getSslConfiguration () : null ;
300299 URLConnection connection = UrlConnectionFactory .createConnection (url , 0 , sslConfiguration ,
301300 authorizationProvider );
302- return new ConfigurationSource (connection .getInputStream (), url , connection .getLastModified ());
301+ try (InputStream inputStream = connection .getInputStream ()) {
302+ return factory .getConfiguration (context ,
303+ new ConfigurationSource (inputStream , url , connection .getLastModified ()));
304+ }
303305 }
304306
305307 private CompositeConfiguration createComposite (List <Configuration > configurations ) {
0 commit comments