1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.config;
18
19 import org.apache.logging.log4j.LogManager;
20 import org.apache.logging.log4j.core.LoggerContext;
21 import java.net.URI;
22 import java.net.URISyntaxException;
23
24
25
26
27 public final class Configurator {
28
29 private Configurator() {
30 }
31
32
33
34
35
36
37
38
39 public static LoggerContext initialize(final String name, final ClassLoader loader, final String configLocation) {
40
41 try {
42 final URI uri = configLocation == null ? null : new URI(configLocation);
43 return initialize(name, loader, uri);
44 } catch (final URISyntaxException ex) {
45 ex.printStackTrace();
46 }
47 return null;
48 }
49
50
51
52
53
54
55
56
57 public static LoggerContext initialize(final String name, final ClassLoader loader, final URI configLocation) {
58
59 try {
60 final LoggerContext ctx = (LoggerContext) LogManager.getContext(loader, false);
61 final Configuration config = ConfigurationFactory.getInstance().getConfiguration(name, configLocation);
62 ctx.setConfiguration(config);
63 return ctx;
64 } catch (final Exception ex) {
65 ex.printStackTrace();
66 }
67 return null;
68 }
69
70
71
72
73
74
75
76 public static LoggerContext initialize(final ClassLoader loader,
77 final ConfigurationFactory.ConfigurationSource source) {
78
79 try {
80 final LoggerContext ctx = (LoggerContext) LogManager.getContext(loader, false);
81 final Configuration config = ConfigurationFactory.getInstance().getConfiguration(source);
82 ctx.setConfiguration(config);
83 return ctx;
84 } catch (final Exception ex) {
85 ex.printStackTrace();
86 }
87 return null;
88 }
89
90
91
92
93
94 public static void shutdown(final LoggerContext ctx) {
95 if (ctx != null) {
96 ctx.setConfiguration(new DefaultConfiguration());
97 }
98 }
99 }