1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.config.plugins;
18
19 import org.apache.logging.log4j.core.config.LoggerConfig;
20 import org.apache.logging.log4j.core.config.Loggers;
21
22 import java.util.concurrent.ConcurrentHashMap;
23 import java.util.concurrent.ConcurrentMap;
24
25
26
27
28 @Plugin(name = "loggers", type = "Core")
29 public final class LoggersPlugin {
30
31 private LoggersPlugin() {
32 }
33
34
35
36
37
38
39 @PluginFactory
40 public static Loggers createLoggers(@PluginElement("loggers") final LoggerConfig[] loggers) {
41 final ConcurrentMap<String, LoggerConfig> loggerMap = new ConcurrentHashMap<String, LoggerConfig>();
42 LoggerConfig root = null;
43
44 for (final LoggerConfig logger : loggers) {
45 if (logger != null) {
46 if (logger.getName().length() == 0) {
47 root = logger;
48 }
49 loggerMap.put(logger.getName(), logger);
50 }
51 }
52
53 return new Loggers(loggerMap, root);
54 }
55 }