public class StreamHandler
extends Handler
java.lang.Object | ||
↳ | java.util.logging.Handler | |
↳ | java.util.logging.StreamHandler |
Known Direct Subclasses |
基于流的日志记录 Handler 。
这主要是作为用于实现其他日志记录 Handlers的基类或支持类。
LogRecords发布到给定的 java.io.OutputStream 。
配置:默认情况下,每个StreamHandler都使用以下LogManager配置属性进行初始化。 如果属性未定义(或者具有无效值),则使用指定的默认值。
Public constructors |
|
---|---|
StreamHandler() 创建一个 StreamHandler ,没有当前输出流。 |
|
StreamHandler(OutputStream out, Formatter formatter) 用给定的 Formatter和输出流创建一个 StreamHandler 。 |
Public methods |
|
---|---|
void |
close() 关闭当前的输出流。 |
void |
flush() 刷新所有缓冲的消息。 |
boolean |
isLoggable(LogRecord record) 检查这个 Handler是否真的会记录给定的 LogRecord 。 |
void |
publish(LogRecord record) 格式化并发布 LogRecord 。 |
void |
setEncoding(String encoding) 设置(或更改)此 Handler使用的字符编码。 |
Protected methods |
|
---|---|
void |
setOutputStream(OutputStream out) 更改输出流。 |
Inherited methods |
|
---|---|
From class java.util.logging.Handler
|
|
From class java.lang.Object
|
StreamHandler (OutputStream out, Formatter formatter)
用给定的 Formatter和输出流创建一个 StreamHandler 。
Parameters | |
---|---|
out |
OutputStream : the target output stream |
formatter |
Formatter : Formatter to be used to format output |
void close ()
关闭当前的输出流。
Formatter的“尾部”字符串在关闭之前写入流中。 另外,如果Formatter的“head”字符串尚未写入流中,它将写入“tail”字符串之前。
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
boolean isLoggable (LogRecord record)
检查这个 Handler是否会记录给定的 LogRecord 。
此方法检查LogRecord是否具有适当的级别以及它是否满足任何Filter 。 如果还没有分配输出流或者LogRecord为空,它也会返回false。
Parameters | |
---|---|
record |
LogRecord : a LogRecord |
Returns | |
---|---|
boolean |
true if the LogRecord would be logged. |
void publish (LogRecord record)
格式并发布 LogRecord 。
StreamHandler首先检查是否有OutputStream以及给定的LogRecord是否至少具有所需的日志级别。 如果不是,它会默默返回。 如果是这样,它会调用任何关联的Filter来检查记录是否应该发布。 如果是这样,它会调用它的Formatter格式化记录,然后将结果写入当前输出流。
如果这是要写入给定 OutputStream第一 LogRecord,被写入 LogRecord前 Formatter的‘头部’字符串写入流。
Parameters | |
---|---|
record |
LogRecord : description of the log event. A null record is silently ignored and is not published |
void setEncoding (String encoding)
设置(或更改)此 Handler使用的字符编码。
之前的任何 LogRecords被写入 Handler的编码应设置。
Parameters | |
---|---|
encoding |
String : The name of a supported character encoding. May be null, to indicate the default platform encoding. |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
UnsupportedEncodingException |
if the named encoding is not supported. |
void setOutputStream (OutputStream out)
更改输出流。
如果存在当前输出流,则写入Formatter的尾部字符串,并刷新并关闭该流。 然后输出流被替换为新的输出流。
Parameters | |
---|---|
out |
OutputStream : New output stream. May not be null. |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |