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.
     
| 限定符和类型 | 字段和说明 | 
|---|---|
| static int | DEFAULT_PORTThe default port number of remote logging server (4560). | 
| static java.lang.String | ZONEThe MulticastDNS zone advertised by a SocketAppender | 
closed, errorHandler, headFilter, layout, name, tailFilter, threshold| 构造器和说明 | 
|---|
| SocketAppender() | 
| SocketAppender(java.net.InetAddress address,
              int port)Connects to remote server at  addressandport. | 
| SocketAppender(java.lang.String host,
              int port)Connects to remote server at  hostandport. | 
| 限定符和类型 | 方法和说明 | 
|---|---|
| void | activateOptions()Connect to the specified RemoteHost and Port. | 
| void | append(LoggingEvent event)Subclasses of  AppenderSkeletonshould 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. | 
| java.lang.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. | 
| java.lang.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(java.lang.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(java.lang.String host)The RemoteHost option takes a string value which should be
 the host name of the server where a  SocketNodeis
 running. | 
addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThresholdpublic static final int DEFAULT_PORT
public static final java.lang.String ZONE
public SocketAppender()
public SocketAppender(java.net.InetAddress address,
              int port)
address and port.public SocketAppender(java.lang.String host,
              int port)
host and port.public void activateOptions()
activateOptions 在接口中 OptionHandleractivateOptions 在类中 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 在类中 AppenderSkeletonpublic void setAdvertiseViaMulticastDNS(boolean advertiseViaMulticastDNS)
public boolean isAdvertiseViaMulticastDNS()
public boolean requiresLayout()
false.public void setRemoteHost(java.lang.String host)
SocketNode is
 running.public java.lang.String getRemoteHost()
public void setPort(int port)
public int getPort()
public void setLocationInfo(boolean locationInfo)
public boolean getLocationInfo()
public void setApplication(java.lang.String lapp)
public java.lang.String getApplication()
public void setReconnectionDelay(int delay)
Setting this option to zero turns off reconnection capability.
public int getReconnectionDelay()