1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j;
18
19 import org.apache.log4j.helpers.NullEnumeration;
20 import org.apache.log4j.spi.HierarchyEventListener;
21 import org.apache.log4j.spi.LoggerFactory;
22 import org.apache.log4j.spi.LoggerRepository;
23 import org.apache.log4j.spi.RepositorySelector;
24 import org.apache.logging.log4j.core.LoggerContext;
25
26 import java.util.Enumeration;
27
28
29
30
31 public final class LogManager {
32
33
34
35
36
37 @Deprecated
38 public static final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";
39
40
41
42
43
44 @Deprecated
45 public static final String DEFAULT_CONFIGURATION_KEY = "log4j.configuration";
46
47
48
49
50
51 @Deprecated
52 public static final String CONFIGURATOR_CLASS_KEY = "log4j.configuratorClass";
53
54
55
56
57
58 @Deprecated
59 public static final String DEFAULT_INIT_OVERRIDE_KEY = "log4j.defaultInitOverride";
60
61 static final String DEFAULT_XML_CONFIGURATION_FILE = "log4j.xml";
62
63 private static final LoggerRepository REPOSITORY = new Repository();
64
65 private LogManager() {
66 }
67
68 public static Logger getRootLogger() {
69 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), "");
70 }
71
72 public static Logger getLogger(final String name) {
73 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), name);
74 }
75
76 public static Logger getLogger(final Class clazz) {
77 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), clazz.getName());
78 }
79
80 public static Logger getLogger(final String name, final LoggerFactory factory) {
81 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), name);
82 }
83
84 public static Logger exists(final String name) {
85 final LoggerContext ctx = (LoggerContext) PrivateManager.getContext();
86 if (!ctx.hasLogger(name)) {
87 return null;
88 }
89 return Logger.getLogger(name);
90 }
91
92 public static Enumeration getCurrentLoggers() {
93 return NullEnumeration.getInstance();
94 }
95
96 static void reconfigure() {
97 final LoggerContext ctx = (LoggerContext) PrivateManager.getContext();
98 ctx.reconfigure();
99 }
100
101
102
103
104 public static void shutdown() {
105 }
106
107
108
109
110 public static void resetConfiguration() {
111 }
112
113
114
115
116
117
118
119 public static void setRepositorySelector(final RepositorySelector selector, final Object guard)
120 throws IllegalArgumentException {
121 }
122
123 public static LoggerRepository getLoggerRepository() {
124 return REPOSITORY;
125 }
126
127
128
129
130 private static class Repository implements LoggerRepository {
131 public void addHierarchyEventListener(final HierarchyEventListener listener) {
132
133 }
134
135 public boolean isDisabled(final int level) {
136 return false;
137 }
138
139 public void setThreshold(final Level level) {
140
141 }
142
143 public void setThreshold(final String val) {
144
145 }
146
147 public void emitNoAppenderWarning(final Category cat) {
148
149 }
150
151 public Level getThreshold() {
152 return Level.OFF;
153 }
154
155 public Logger getLogger(final String name) {
156 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), name);
157 }
158
159 public Logger getLogger(final String name, final LoggerFactory factory) {
160 return (Logger) Category.getInstance((LoggerContext) PrivateManager.getContext(), name);
161 }
162
163 public Logger getRootLogger() {
164 return (Logger) Category.getRoot((LoggerContext) PrivateManager.getContext());
165 }
166
167 public Logger exists(final String name) {
168 return LogManager.exists(name);
169 }
170
171 public void shutdown() {
172 }
173
174 public Enumeration getCurrentLoggers() {
175 return NullEnumeration.getInstance();
176 }
177
178 public Enumeration getCurrentCategories() {
179 return NullEnumeration.getInstance();
180 }
181
182 public void fireAddAppenderEvent(final Category logger, final Appender appender) {
183 }
184
185 public void resetConfiguration() {
186 }
187 }
188
189
190
191
192 private static class PrivateManager extends org.apache.logging.log4j.LogManager {
193 private static final String FQCN = LogManager.class.getName();
194
195
196 public static org.apache.logging.log4j.spi.LoggerContext getContext() {
197 return getContext(FQCN, false);
198 }
199
200 public static org.apache.logging.log4j.Logger getLogger(final String name) {
201 return getLogger(FQCN, name);
202 }
203 }
204 }