1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.config.properties;
18
19 import java.io.IOException;
20
21 import org.apache.logging.log4j.core.config.Configuration;
22 import org.apache.logging.log4j.core.config.ConfigurationSource;
23 import org.apache.logging.log4j.core.config.Reconfigurable;
24 import org.apache.logging.log4j.core.config.builder.api.Component;
25 import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
26
27
28
29
30
31 public class PropertiesConfiguration extends BuiltConfiguration implements Reconfigurable {
32
33 public PropertiesConfiguration(ConfigurationSource source, Component root) {
34 super(source, root);
35 }
36
37 @Override
38 public Configuration reconfigure() {
39 try {
40 final ConfigurationSource source = getConfigurationSource().resetInputStream();
41 if (source == null) {
42 return null;
43 }
44 final PropertiesConfigurationFactory factory = new PropertiesConfigurationFactory();
45 final PropertiesConfiguration config = factory.getConfiguration(source);
46 return config == null || config.getState() != State.INITIALIZING ? null : config;
47 } catch (final IOException ex) {
48 LOGGER.error("Cannot locate file {}: {}", getConfigurationSource(), ex);
49 }
50 return null;
51 }
52
53
54 }