1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.flume.appender;
18
19 import org.apache.logging.log4j.Logger;
20 import org.apache.logging.log4j.core.config.plugins.Plugin;
21 import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
22 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
23 import org.apache.logging.log4j.core.util.Integers;
24 import org.apache.logging.log4j.status.StatusLogger;
25
26
27
28
29 @Plugin(name = "Agent", category = "Core", printObject = true)
30 public final class Agent {
31
32 private static final String DEFAULT_HOST = "localhost";
33
34 private static final int DEFAULT_PORT = 35853;
35
36 private static final Logger LOGGER = StatusLogger.getLogger();
37
38 private final String host;
39
40 private final int port;
41
42 private Agent(final String host, final int port) {
43 this.host = host;
44 this.port = port;
45 }
46
47
48
49
50
51 public String getHost() {
52 return host;
53 }
54
55
56
57
58
59 public int getPort() {
60 return port;
61 }
62
63 @Override
64 public String toString() {
65 return "host=" + host + " port=" + port;
66 }
67
68
69
70
71
72
73
74 @PluginFactory
75 public static Agent createAgent(@PluginAttribute("host") String host,
76 @PluginAttribute("port") final String port) {
77 if (host == null) {
78 host = DEFAULT_HOST;
79 }
80
81 int portNum;
82 try {
83 portNum = Integers.parseInt(port, DEFAULT_PORT);
84 } catch (final Exception ex) {
85 LOGGER.error("Error parsing port number " + port, ex);
86 return null;
87 }
88 return new Agent(host, portNum);
89 }
90 }