17
17
package org .springframework .boot .logging .log4j2 ;
18
18
19
19
import java .io .IOException ;
20
+ import java .io .InputStream ;
20
21
import java .net .URL ;
21
22
import java .net .URLConnection ;
22
23
import java .util .ArrayList ;
@@ -284,13 +285,11 @@ protected void loadConfiguration(String location, LogFile logFile, List<String>
284
285
285
286
private Configuration load (String location , LoggerContext context ) throws IOException {
286
287
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 ();
292
289
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
+ }
294
293
}
295
294
URL url = resource .getURL ();
296
295
AuthorizationProvider authorizationProvider = ConfigurationFactory
@@ -299,7 +298,10 @@ private ConfigurationSource getConfigurationSource(Resource resource) throws IOE
299
298
? SslConfigurationFactory .getSslConfiguration () : null ;
300
299
URLConnection connection = UrlConnectionFactory .createConnection (url , 0 , sslConfiguration ,
301
300
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
+ }
303
305
}
304
306
305
307
private CompositeConfiguration createComposite (List <Configuration > configurations ) {
0 commit comments