public class SocketAppender extends AppenderSkeleton
LoggingEvent objects to a remote a log server, usually a SocketNode.
The SocketAppender has the following properties:
SocketNode, remote logging is non-intrusive as far
as the log event is concerned. In other words, the event will be logged with
the same time stamp, NDC, location info as if it
were logged locally by the client.
LoggingEvent object to the server side.
On the other hand, if the network link is up, but the server is down, the client will not be blocked when making log requests but the log events will be lost due to server unavailability.
SocketAppender is no longer attached to any
category, it will not be garbage collected in the presence of a connector
thread. A connector thread exists only if the connection to the server is
down. To avoid this garbage collection problem, you should close() the
the SocketAppender explicitly. See also next item.
Long lived applications which create/destroy many SocketAppender
instances should be aware of this garbage collection problem. Most other
applications can safely ignore it.
SocketAppender exits before the
SocketAppender is closed either explicitly or subsequent to
garbage collection, then there might be untransmitted data in the pipe which
might be lost. This is a common problem on Windows based systems.
To avoid lost data, it is usually sufficient to close() the
SocketAppender either explicitly or by calling the
LogManager.shutdown() method before exiting the
application.
| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_PORT
The default port number of remote logging server (4560).
|
static String |
ZONE
The MulticastDNS zone advertised by a SocketAppender
|
closed, errorHandler, headFilter, layout, name, tailFilter, threshold| Constructor and Description |
|---|
SocketAppender() |
SocketAppender(InetAddress address,
int port)
Connects to remote server at
address and port. |
SocketAppender(String host,
int port)
Connects to remote server at
host and port. |
| Modifier and Type | Method and Description |
|---|---|
void |
activateOptions()
Connect to the specified RemoteHost and Port.
|
void |
append(LoggingEvent event)
Subclasses of
AppenderSkeleton should implement this method to perform actual logging. |
void |
cleanUp()
Drop the connection to the remote host and release the underlying connector thread if it has been created
|
void |
close()
Close this appender.
|
String |
getApplication()
Returns value of the Application option.
|
boolean |
getLocationInfo()
Returns value of the LocationInfo option.
|
int |
getPort()
Returns value of the Port option.
|
int |
getReconnectionDelay()
Returns value of the ReconnectionDelay option.
|
String |
getRemoteHost()
Returns value of the RemoteHost option.
|
boolean |
isAdvertiseViaMulticastDNS() |
boolean |
requiresLayout()
The SocketAppender does not use a layout.
|
void |
setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS) |
void |
setApplication(String lapp)
The App option takes a string value which should be the name of the application getting logged.
|
void |
setLocationInfo(boolean locationInfo)
The LocationInfo option takes a boolean value.
|
void |
setPort(int port)
The Port option takes a positive integer representing the port where the server is waiting for
connections.
|
void |
setReconnectionDelay(int delay)
The ReconnectionDelay option takes a positive integer representing the number of milliseconds to wait
between each failed connection attempt to the server.
|
void |
setRemoteHost(String host)
The RemoteHost option takes a string value which should be the host name of the server where a
SocketNode is running. |
addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThresholdpublic static final int DEFAULT_PORT
public static final String ZONE
public SocketAppender()
public SocketAppender(InetAddress address, int port)
address and port.public SocketAppender(String host, int port)
host and port.public void activateOptions()
activateOptions in interface OptionHandleractivateOptions in class AppenderSkeletonpublic void close()
This will mark the appender as closed and call then cleanUp() method.
public void cleanUp()
public void append(LoggingEvent event)
AppenderSkeletonAppenderSkeleton should implement this method to perform actual logging. See also
AppenderSkeleton.doAppend method.append in class AppenderSkeletonpublic void setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS)
public boolean isAdvertiseViaMulticastDNS()
public boolean requiresLayout()
false.public void setRemoteHost(String host)
SocketNode is running.public String getRemoteHost()
public void setPort(int port)
public int getPort()
public void setLocationInfo(boolean locationInfo)
public boolean getLocationInfo()
public void setApplication(String lapp)
public String getApplication()
public void setReconnectionDelay(int delay)
Setting this option to zero turns off reconnection capability.
public int getReconnectionDelay()
Copyright © 1999–2024 QOS.CH Sarl (Switzerland). All rights reserved.