Class SocketAppender
java.lang.Object
org.apache.logging.log4j.core.AbstractLifeCycle
org.apache.logging.log4j.core.filter.AbstractFilterable
org.apache.logging.log4j.core.appender.AbstractAppender
org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender<AbstractSocketManager>
org.apache.logging.log4j.core.appender.SocketAppender
- All Implemented Interfaces:
Appender, Filterable, LocationAware, LifeCycle, LifeCycle2
- Direct Known Subclasses:
SyslogAppender
@Plugin(name="Socket",
category="Core",
elementType="appender",
printObject=true)
public class SocketAppender
extends AbstractOutputStreamAppender<AbstractSocketManager>
An Appender that delivers events over socket connections. Supports both TCP and UDP.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSubclasses can extend this abstract Builder.static classBuilds a SocketAppender.Nested classes/interfaces inherited from interface LifeCycle
LifeCycle.State -
Field Summary
FieldsFields inherited from class AbstractLifeCycle
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGERFields inherited from interface Appender
ELEMENT_TYPE, EMPTY_ARRAY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSocketAppender(String name, Layout<? extends Serializable> layout, Filter filter, AbstractSocketManager manager, boolean ignoreExceptions, boolean immediateFlush, Advertiser advertiser) Deprecated.protectedSocketAppender(String name, Layout<? extends Serializable> layout, Filter filter, AbstractSocketManager manager, boolean ignoreExceptions, boolean immediateFlush, Advertiser advertiser, Property[] properties) -
Method Summary
Modifier and TypeMethodDescriptionstatic SocketAppendercreateAppender(String host, int port, Protocol protocol, SslConfiguration sslConfig, int connectTimeoutMillis, int reconnectDelayMillis, boolean immediateFail, String name, boolean immediateFlush, boolean ignoreExceptions, Layout<? extends Serializable> layout, Filter filter, boolean advertise, Configuration configuration) Deprecated.Deprecated in 2.7; usenewBuilder()static SocketAppendercreateAppender(String host, String portNum, String protocolIn, SslConfiguration sslConfig, int connectTimeoutMillis, String delayMillis, String immediateFail, String name, String immediateFlush, String ignore, Layout<? extends Serializable> layout, Filter filter, String advertise, Configuration config) Deprecated.Deprecated in 2.5; usenewBuilder()protected static AbstractSocketManagercreateSocketManager(String name, Protocol protocol, String host, int port, int connectTimeoutMillis, SslConfiguration sslConfig, int reconnectDelayMillis, boolean immediateFail, Layout<? extends Serializable> layout, int bufferSize) protected static AbstractSocketManagercreateSocketManager(String name, Protocol protocol, String host, int port, int connectTimeoutMillis, SslConfiguration sslConfig, int reconnectDelayMillis, boolean immediateFail, Layout<? extends Serializable> layout, int bufferSize, SocketOptions socketOptions) Creates an AbstractSocketManager for TCP, UDP, and SSL.protected voiddirectEncodeEvent(LogEvent event) static SocketAppender.BuilderbooleanCleanup the Filter.Methods inherited from class AbstractOutputStreamAppender
append, getImmediateFlush, getManager, start, stop, writeByteArrayToManagerMethods inherited from class AbstractAppender
error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toStringMethods inherited from class AbstractFilterable
addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilterMethods inherited from class AbstractLifeCycle
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
-
Field Details
-
advertisement
-
advertiser
-
-
Constructor Details
-
SocketAppender
protected SocketAppender(String name, Layout<? extends Serializable> layout, Filter filter, AbstractSocketManager manager, boolean ignoreExceptions, boolean immediateFlush, Advertiser advertiser, Property[] properties) -
SocketAppender
@Deprecated protected SocketAppender(String name, Layout<? extends Serializable> layout, Filter filter, AbstractSocketManager manager, boolean ignoreExceptions, boolean immediateFlush, Advertiser advertiser)
-
-
Method Details
-
newBuilder
-
stop
Description copied from class:AbstractFilterableCleanup the Filter.- Specified by:
stopin interfaceLifeCycle2- Overrides:
stopin classAbstractOutputStreamAppender<AbstractSocketManager>- Parameters:
timeout- the maximum time to waittimeUnit- the time unit of the timeout argument- Returns:
- true if the receiver was stopped cleanly and normally, false otherwise.
-
createAppender
@Deprecated @PluginFactory public static SocketAppender createAppender(String host, int port, Protocol protocol, SslConfiguration sslConfig, int connectTimeoutMillis, int reconnectDelayMillis, boolean immediateFail, String name, boolean immediateFlush, boolean ignoreExceptions, Layout<? extends Serializable> layout, Filter filter, boolean advertise, Configuration configuration) Deprecated.Deprecated in 2.7; usenewBuilder()Creates a socket appender.- Parameters:
host- The name of the host to connect to.port- The port to connect to on the target host.protocol- The Protocol to use.sslConfig- The SSL configuration file for TCP/SSL, ignored for UPD.connectTimeoutMillis- the connect timeout in milliseconds.reconnectDelayMillis- The interval in which failed writes should be retried.immediateFail- True if the write should fail if no socket is immediately available.name- The name of the Appender.immediateFlush- "true" if data should be flushed on each write.ignoreExceptions- If"true"(default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.layout- The layout to use. Required, there is no default.filter- The Filter or null.advertise- "true" if the appender configuration should be advertised, "false" otherwise.configuration- The Configuration- Returns:
- A SocketAppender.
-
createAppender
@Deprecated public static SocketAppender createAppender(String host, String portNum, String protocolIn, SslConfiguration sslConfig, int connectTimeoutMillis, String delayMillis, String immediateFail, String name, String immediateFlush, String ignore, Layout<? extends Serializable> layout, Filter filter, String advertise, Configuration config) Deprecated.Deprecated in 2.5; usenewBuilder()Creates a socket appender.- Parameters:
host- The name of the host to connect to.portNum- The port to connect to on the target host.protocolIn- The Protocol to use.sslConfig- The SSL configuration file for TCP/SSL, ignored for UPD.connectTimeoutMillis- the connect timeout in milliseconds.delayMillis- The interval in which failed writes should be retried.immediateFail- True if the write should fail if no socket is immediately available.name- The name of the Appender.immediateFlush- "true" if data should be flushed on each write.ignore- If"true"(default) exceptions encountered when appending events are logged; otherwise they are propagated to the caller.layout- The layout to use. Required, there is no default.filter- The Filter or null.advertise- "true" if the appender configuration should be advertised, "false" otherwise.config- The Configuration- Returns:
- A SocketAppender.
-
createSocketManager
@Deprecated protected static AbstractSocketManager createSocketManager(String name, Protocol protocol, String host, int port, int connectTimeoutMillis, SslConfiguration sslConfig, int reconnectDelayMillis, boolean immediateFail, Layout<? extends Serializable> layout, int bufferSize) Deprecated.Creates an AbstractSocketManager for TCP, UDP, and SSL.- Throws:
IllegalArgumentException- if the protocol cannot be handled.
-
createSocketManager
protected static AbstractSocketManager createSocketManager(String name, Protocol protocol, String host, int port, int connectTimeoutMillis, SslConfiguration sslConfig, int reconnectDelayMillis, boolean immediateFail, Layout<? extends Serializable> layout, int bufferSize, SocketOptions socketOptions) Creates an AbstractSocketManager for TCP, UDP, and SSL.- Throws:
IllegalArgumentException- if the protocol cannot be handled.
-
directEncodeEvent
- Overrides:
directEncodeEventin classAbstractOutputStreamAppender<AbstractSocketManager>
-
SocketAppender(String, Layout, Filter, AbstractSocketManager, boolean, boolean, Advertiser, Property[]).