1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.selector;
18
19 import java.net.URI;
20 import java.util.ArrayList;
21 import java.util.Collections;
22 import java.util.List;
23
24 import org.apache.logging.log4j.core.LoggerContext;
25 import org.apache.logging.log4j.core.impl.ContextAnchor;
26
27
28
29
30 public class BasicContextSelector implements ContextSelector {
31
32 private static final LoggerContext CONTEXT = new LoggerContext("Default");
33
34 @Override
35 public LoggerContext getContext(final String fqcn, final ClassLoader loader, final boolean currentContext) {
36
37 final LoggerContext ctx = ContextAnchor.THREAD_CONTEXT.get();
38 return ctx != null ? ctx : CONTEXT;
39 }
40
41
42 @Override
43 public LoggerContext getContext(final String fqcn, final ClassLoader loader, final boolean currentContext,
44 final URI configLocation) {
45
46 final LoggerContext ctx = ContextAnchor.THREAD_CONTEXT.get();
47 return ctx != null ? ctx : CONTEXT;
48 }
49
50 public LoggerContext locateContext(final String name, final String configLocation) {
51 return CONTEXT;
52 }
53
54 @Override
55 public void removeContext(final LoggerContext context) {
56 }
57
58 @Override
59 public List<LoggerContext> getLoggerContexts() {
60 final List<LoggerContext> list = new ArrayList<LoggerContext>();
61 list.add(CONTEXT);
62 return Collections.unmodifiableList(list);
63 }
64
65 }