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