java.lang.Object
java.util.logging.Handler
java.util.logging.StreamHandler
java.util.logging.SocketHandler
简单的网络日志记录
处理程序
。
LogRecords
被发布到网络流连接。默认情况下,使用XMLFormatter
类进行格式化。
配置:默认情况下,每个SocketHandler
都使用以下LogManager
配置属性进行初始化,其中<handler-name>
是处理程序的完全限定类名。如果未定义属性(或具有无效值),则使用指定的默认值。
- <handler-name>.level指定
Handler
的默认级别(默认为Level.ALL
)。 - <handler-name>.filter指定要使用的
Filter
类的名称(默认为无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
后会被刷新。
- 自 JDK 版本:
- 1.4
-
Constructor Summary
ConstructorDescription创建一个SocketHandler
,仅使用LogManager
属性(或其默认值)。SocketHandler
(String host, int port) 使用指定的主机和端口构造一个SocketHandler
。 -
Method Summary
Methods declared in class java.util.logging.StreamHandler
flush, isLoggable, setEncoding, setOutputStream
Methods declared in class java.util.logging.Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, reportError, setErrorManager, setFilter, setFormatter, setLevel
-
Constructor Details
-
SocketHandler
创建一个SocketHandler
,仅使用LogManager
属性(或其默认值)。- 抛出:
-
IllegalArgumentException
- 如果主机或端口无效或未指定为LogManager属性。 -
IOException
- 如果无法连接到目标主机和端口。
-
SocketHandler
使用指定的主机和端口构造一个SocketHandler
。SocketHandler
根据LogManager
属性(或其默认值)进行配置,只是使用给定的目标主机和端口参数。如果主机参数为空但不是null字符串,则使用本地主机。- 参数:
-
host
- 目标主机。 -
port
- 目标端口。 - 抛出:
-
IllegalArgumentException
- 如果主机或端口无效。 -
IOException
- 如果无法连接到目标主机和端口。
-
-
Method Details
-
close
关闭此输出流。- 覆盖:
-
close
在类StreamHandler
中 - 抛出:
-
SecurityException
- 如果存在安全管理器且调用者没有LoggingPermission("control")
。
-
publish
格式化并发布一个LogRecord
。- 覆盖:
-
publish
在类StreamHandler
中 - 参数:
-
record
- 日志事件的描述。空记录将被静默忽略并不会被发布。
-