1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.log4j.config;
19
20 import org.apache.logging.log4j.core.LoggerContext;
21 import org.apache.logging.log4j.core.config.Configuration;
22 import org.apache.logging.log4j.core.config.ConfigurationFactory;
23 import org.apache.logging.log4j.core.config.ConfigurationSource;
24 import org.apache.logging.log4j.core.config.Order;
25 import org.apache.logging.log4j.core.config.plugins.Plugin;
26 import org.apache.logging.log4j.util.PropertiesUtil;
27
28
29
30
31 @Plugin(name = "Log4j1PropertiesConfigurationFactory", category = ConfigurationFactory.CATEGORY)
32 @Order(2)
33 public class PropertiesConfigurationFactory extends ConfigurationFactory {
34
35
36
37
38
39 protected static final String TEST_PREFIX = "log4j-test";
40
41
42
43
44 protected static final String DEFAULT_PREFIX = "log4j";
45
46 @Override
47 protected String[] getSupportedTypes() {
48 if (!PropertiesUtil.getProperties().getBooleanProperty(ConfigurationFactory.LOG4J1_EXPERIMENTAL, Boolean.FALSE)) {
49 return null;
50 }
51 return new String[] {".properties"};
52 }
53
54 @Override
55 public Configuration getConfiguration(LoggerContext loggerContext, ConfigurationSource source) {
56 int interval = PropertiesUtil.getProperties().getIntegerProperty(Log4j1Configuration.MONITOR_INTERVAL, 0);
57 return new PropertiesConfiguration(loggerContext, source, interval);
58 }
59
60 @Override
61 protected String getTestPrefix() {
62 return TEST_PREFIX;
63 }
64
65 @Override
66 protected String getDefaultPrefix() {
67 return DEFAULT_PREFIX;
68 }
69
70 @Override
71 protected String getVersion() {
72 return LOG4J1_VERSION;
73 }
74 }