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
37 public static final String FILE_EXTENSION = ".xml";
38
39 private static final org.apache.logging.log4j.Logger LOGGER = StatusLogger.getLogger();
40
41
42
43
44 protected static final String TEST_PREFIX = "log4j-test";
45
46
47
48
49 protected static final String DEFAULT_PREFIX = "log4j";
50
51 @Override
52 protected String[] getSupportedTypes() {
53 if (!PropertiesUtil.getProperties().getBooleanProperty(ConfigurationFactory.LOG4J1_EXPERIMENTAL, Boolean.FALSE)) {
54 return null;
55 }
56 return new String[] { FILE_EXTENSION };
57 }
58
59 @Override
60 public Configuration getConfiguration(LoggerContext loggerContext, ConfigurationSource source) {
61 int interval = PropertiesUtil.getProperties().getIntegerProperty(Log4j1Configuration.MONITOR_INTERVAL, 0);
62 return new XmlConfiguration(loggerContext, source, interval);
63 }
64
65 @Override
66 protected String getTestPrefix() {
67 return TEST_PREFIX;
68 }
69
70 @Override
71 protected String getDefaultPrefix() {
72 return DEFAULT_PREFIX;
73 }
74
75 @Override
76 protected String getVersion() {
77 return LOG4J1_VERSION;
78 }
79 }