模块  java.logging
软件包  java.util.logging

Class SocketHandler


  • public class SocketHandler
    extends StreamHandler
    简单的网络日志记录Handler

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

    配置:默认情况下,使用以下LogManager配置属性初始化每个SocketHandler ,其中<handler-name>引用处理程序的完全限定类名。 如果未定义属性(或具有无效值),则使用指定的默认值。

    • <处理程序名> .LEVEL指定了默认级别Handler (默认为Level.ALL )。
    • <handler-name> .filter指定要使用的Filter类的名称(默认为no Filter )。
    • <handler-name> .formatter指定要使用的Formatter类的名称(默认为java.util.logging.XMLFormatter )。
    • <handler-name> .encoding要使用的字符集编码的名称(默认为默认平台编码)。
    • <handler-name> .host指定要连接的目标主机名(无默认值)。
    • <handler-name> .port指定要使用的目标TCP端口(无默认值)。

    例如, SocketHandler的属性为:

    • java.util.logging.SocketHandler.level = INFO
    • java.util.logging.SocketHandler.formatter = java.util.logging.SimpleFormatter

    对于自定义处理程序,例如com.foo.MyHandler,属性将是:

    • com.foo.MyHandler.level = INFO
    • com.foo.MyHandler.formatter = java.util.logging.SimpleFormatter

    输出IO流被缓冲,但在写入每个LogRecord后刷新。

    从以下版本开始:
    1.4
    • 构造方法详细信息

      • SocketHandler

        public SocketHandler()
                      throws IOException
        创建 SocketHandler ,仅使用 LogManager属性(或其默认值)。
        异常
        IllegalArgumentException - 如果主机或端口无效或未指定为LogManager属性。
        IOException - 如果我们无法连接到目标主机和端口。
      • SocketHandler

        public SocketHandler​(String host,
                             int port)
                      throws IOException
        使用指定的主机和端口构造SocketHandler SocketHandler基于LogManager属性(或其默认值)进行配置,但使用给定的目标主机和端口参数除外。 如果host参数为空,但不是null String,则使用localhost。
        参数
        host - 目标主机。
        port - 目标端口。
        异常
        IllegalArgumentException - 如果主机或端口无效。
        IOException - 如果我们无法连接到目标主机和端口。
    • 方法详细信息

      • publish

        public void publish​(LogRecord record)
        格式化并发布 LogRecord
        重写:
        publish在类 StreamHandler
        参数
        record - 日志事件的描述。 静默忽略空记录,不会发布