in log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/jeromq/JeroMqAppender.java [121:203]
public static JeroMqAppender createAppender(
// @formatter:off
@Required(message = "No name provided for JeroMqAppender") @PluginAttribute("name") final String name,
@PluginElement("Layout") Layout<?> layout,
@PluginElement("Filter") final Filter filter,
@PluginElement("Properties") final Property[] properties,
// Super attributes
@PluginAttribute("ignoreExceptions") final boolean ignoreExceptions,
// ZMQ attributes; defaults picked from zmq.Options.
@PluginAttribute(value = "affinity", defaultLong = 0) final long affinity,
@PluginAttribute(value = "backlog", defaultLong = DEFAULT_BACKLOG) final long backlog,
@PluginAttribute(value = "delayAttachOnConnect") final boolean delayAttachOnConnect,
@PluginAttribute(value = "identity") final byte[] identity,
@PluginAttribute(value = "ipv4Only", defaultBoolean = true) final boolean ipv4Only,
@PluginAttribute(value = "linger", defaultLong = -1) final long linger,
@PluginAttribute(value = "maxMsgSize", defaultLong = -1) final long maxMsgSize,
@PluginAttribute(value = "rcvHwm", defaultLong = DEFAULT_RCV_HWM) final long rcvHwm,
@PluginAttribute(value = "receiveBufferSize", defaultLong = 0) final long receiveBufferSize,
@PluginAttribute(value = "receiveTimeOut", defaultLong = -1) final int receiveTimeOut,
@PluginAttribute(value = "reconnectIVL", defaultLong = DEFAULT_IVL) final long reconnectIVL,
@PluginAttribute(value = "reconnectIVLMax", defaultLong = 0) final long reconnectIVLMax,
@PluginAttribute(value = "sendBufferSize", defaultLong = 0) final long sendBufferSize,
@PluginAttribute(value = "sendTimeOut", defaultLong = -1) final int sendTimeOut,
@PluginAttribute(value = "sndHwm", defaultLong = DEFAULT_SND_HWM) final long sndHwm,
@PluginAttribute(value = "tcpKeepAlive", defaultInt = -1) final int tcpKeepAlive,
@PluginAttribute(value = "tcpKeepAliveCount", defaultLong = -1) final long tcpKeepAliveCount,
@PluginAttribute(value = "tcpKeepAliveIdle", defaultLong = -1) final long tcpKeepAliveIdle,
@PluginAttribute(value = "tcpKeepAliveInterval", defaultLong = -1) final long tcpKeepAliveInterval,
@PluginAttribute(value = "xpubVerbose") final boolean xpubVerbose
// @formatter:on
) {
if (layout == null) {
layout = PatternLayout.createDefaultLayout();
}
List<String> endpoints;
if (properties == null) {
endpoints = new ArrayList<>(0);
} else {
endpoints = new ArrayList<>(properties.length);
for (final Property property : properties) {
if ("endpoint".equalsIgnoreCase(property.getName())) {
final String value = property.getValue();
if (Strings.isNotEmpty(value)) {
endpoints.add(value);
}
}
}
}
LOGGER.debug(
"Creating JeroMqAppender with name={}, filter={}, layout={}, ignoreExceptions={}, endpoints={}",
name,
filter,
layout,
ignoreExceptions,
endpoints);
return new JeroMqAppender(
name,
filter,
layout,
ignoreExceptions,
endpoints,
affinity,
backlog,
delayAttachOnConnect,
identity,
ipv4Only,
linger,
maxMsgSize,
rcvHwm,
receiveBufferSize,
receiveTimeOut,
reconnectIVL,
reconnectIVLMax,
sendBufferSize,
sendTimeOut,
sndHwm,
tcpKeepAlive,
tcpKeepAliveCount,
tcpKeepAliveIdle,
tcpKeepAliveInterval,
xpubVerbose,
null);
}