java.util.logging
Class SocketHandler

java.lang.Object
  extended byjava.util.logging.Handler
      extended byjava.util.logging.StreamHandler
          extended byjava.util.logging.SocketHandler

public class SocketHandler
extends StreamHandler

Simple network logging Handler.

LogRecords are published to a network stream connection. By default the XMLFormatter class is used for formatting.

Configuration: By default each SocketHandler is initialized using the following LogManager configuration properties. If properties are not defined (or have invalid values) then the specified default values are used.

The output IO stream is buffered, but is flushed after each LogRecord is written.

Since:
1.4

Field Summary
private  String host
           
private  int port
           
private  String portProperty
           
private  Socket sock
           
 
Fields inherited from class java.util.logging.StreamHandler
 
Fields inherited from class java.util.logging.Handler
sealed
 
Constructor Summary
SocketHandler()
          Create a SocketHandler, using only LogManager properties (or their defaults).
SocketHandler(String host, int port)
          Construct a SocketHandler using a specified host and port.
 
Method Summary
 void close()
          Close this output stream.
private  void configure()
           
private  void connect()
           
 void publish(LogRecord record)
          Format and publish a LogRecord.
 
Methods inherited from class java.util.logging.StreamHandler
flush, isLoggable, setEncoding, setOutputStream
 
Methods inherited from class java.util.logging.Handler
checkAccess, getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

sock

private Socket sock

host

private String host

port

private int port

portProperty

private String portProperty
Constructor Detail

SocketHandler

public SocketHandler()
              throws IOException
Create a SocketHandler, using only LogManager properties (or their defaults).

Throws:
IllegalArgumentException - if the host or port are invalid or are not specified as LogManager properties.
IOException - if we are unable to connect to the target host and port.

SocketHandler

public SocketHandler(String host,
                     int port)
              throws IOException
Construct a SocketHandler using a specified host and port. The SocketHandler is configured based on LogManager properties (or their default values) except that the given target host and port arguments are used.

Parameters:
host - target host.
port - target port.
Throws:
IllegalArgumentException - if the host or port are invalid.
IOException - if we are unable to connect to the target host and port.
Method Detail

configure

private void configure()

connect

private void connect()
              throws IOException
Throws:
IOException

close

public void close()
           throws SecurityException
Close this output stream.

Overrides:
close in class StreamHandler
Throws:
SecurityException - if a security manager exists and if the caller does not have LoggingPermission("control").

publish

public void publish(LogRecord record)
Format and publish a LogRecord.

Overrides:
publish in class StreamHandler
Parameters:
record - description of the log event