1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.core.appender;
18
19 import org.apache.logging.log4j.Logger;
20 import org.apache.logging.log4j.core.config.AppenderRef;
21 import org.apache.logging.log4j.core.config.plugins.Plugin;
22 import org.apache.logging.log4j.core.config.plugins.PluginElement;
23 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
24 import org.apache.logging.log4j.status.StatusLogger;
25
26
27
28
29 @Plugin(name = "failovers", category = "Core")
30 public final class FailoversPlugin {
31
32 private static final Logger LOGGER = StatusLogger.getLogger();
33
34
35
36
37 private FailoversPlugin() {
38 }
39
40
41
42
43
44
45 @PluginFactory
46 public static String[] createFailovers(@PluginElement("AppenderRef") final AppenderRef... refs) {
47
48 if (refs == null) {
49 LOGGER.error("failovers must contain an appender reference");
50 return null;
51 }
52 final String[] arr = new String[refs.length];
53 for (int i = 0; i < refs.length; ++i) {
54 arr[i] = refs[i].getRef();
55 }
56 return arr;
57 }
58 }