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 java.util.concurrent.ConcurrentHashMap;
20 import java.util.concurrent.ConcurrentMap;
21
22 import org.apache.logging.log4j.core.Appender;
23 import org.apache.logging.log4j.core.Core;
24 import org.apache.logging.log4j.core.config.plugins.Plugin;
25 import org.apache.logging.log4j.core.config.plugins.PluginElement;
26 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
27
28
29
30
31 @Plugin(name = "appenders", category = Core.CATEGORY_NAME)
32 public final class AppendersPlugin {
33
34 private AppendersPlugin() {
35 }
36
37
38
39
40
41
42 @PluginFactory
43 public static ConcurrentMap<String, Appender> createAppenders(
44 @PluginElement("Appenders") final Appender[] appenders) {
45
46 final ConcurrentMap<String, Appender> map = new ConcurrentHashMap<>(appenders.length);
47
48 for (final Appender appender : appenders) {
49 map.put(appender.getName(), appender);
50 }
51
52 return map;
53 }
54 }