java.util.logging

接口
java.lang.Object
  继承者 java.util.logging.Handler
      继承者 java.util.logging.StreamHandler
          继承者 java.util.logging.SocketHandler

public class SocketHandler
     
extends StreamHandler

简单的网络日志 Handler

LogRecords 发布到网络流连接。默认情况下,XMLFormatter 类用于格式化。

配置:默认情况下,每个 SocketHandler 是使用以下 LogManager 配置属性执行初始化的。如果未定义属性(或者属性具有无效值),则使用指定的默认值。

  • java.util.logging.SocketHandler.level 指定 Handler 的默认级别(默认值为 Level.ALL)。
  • java.util.logging.SocketHandler.filter 指定要使用的 Filter 类的名称(默认值非 Filter)。
  • java.util.logging.SocketHandler.formatter 指定要使用的 Formatter(默认值为 java.util.logging.XMLFormatter)。
  • java.util.logging.SocketHandler.encoding 要使用的字符集编码的名称(默认值为默认平台编码)。
  • java.util.logging.SocketHandler.host 指定要连接到的目标主机名(无默认值)。
  • java.util.logging.SocketHandler.port 指定要使用的目标 TCP 端口(无默认值)。

输出 IO 流是缓冲的,但是在每次写入 LogRecord 后都将刷新。

从以下版本开始:
1.4

构造方法摘要
SocketHandler()
          仅使用 LogManager 属性(或其默认值)创建 SocketHandler
SocketHandler(String host, int port)
          构造一个带有指定主机和端口的 SocketHandler
 
方法摘要
 void close()
          关闭此输出流。
 void publish(LogRecord record)
          格式化并发布 LogRecord
 
从类 java.util.logging.StreamHandler 继承的方法
flush, isLoggable, setEncoding, setOutputStream
 
从类 java.util.logging.Handler 继承的方法
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SocketHandler

public SocketHandler()
              throws IOException
仅使用 LogManager 属性(或其默认值)创建 SocketHandler

抛出:
IllegalArgumentException - 如果主机或端口无效或者没有指定为 LogManager 属性。
IOException - 如果未能连接到目标主机和端口。

SocketHandler

public SocketHandler(String host,
                     int port)
              throws IOException
构造一个带有指定主机和端口的 SocketHandlerSocketHandler 是基于 LogManager 属性(或其默认值)配置的,除非使用了给定的目标主机和端口参数。如果主机参数为空,但不是 null 字符串,则使用本地主机。

参数:
host - 目标主机。
port - 目标端口。
抛出:
IllegalArgumentException - 如果主机或端口无效。
IOException - 如果未能连接到目标主机和端口。
方法详细信息

close

public void close()
           throws SecurityException
关闭此输出流。

覆盖:
StreamHandler 中的 close
抛出:
SecurityException - 如果存在安全管理器,且调用者不具有 LoggingPermission("control")

publish

public void publish(LogRecord record)
格式化并发布 LogRecord

覆盖:
StreamHandler 中的 publish
参数:
record - 对日志事件的描述。默认忽略 null 记录,并且不进行发布。