所有类


java.util.logging
类 Handler

java.lang.Object
  继承者 java.util.logging.Handler
直接已知子类:
MemoryHandler, StreamHandler

public abstract class Handler
   
   
   
   
   
extends Object

Handler 对象从 Logger 中获取日志信息,并将这些信息导出。例如,它可将这些信息写入控制台或文件中,也可以将这些信息发送到网络日志服务中,或将其转发到操作系统日志中。

可通过执行 setLevel(Level.OFF) 来禁用 Handler,并可通过执行适当级别的 setLevel 来重新启用。

Handler 类通常使用 LogManager 属性来设置 HandlerFilterFormatterLevel 的默认值。有关每个具体的 Handler 类,请参阅指定的文档。

从以下版本开始:
1.4

构造方法摘要
protected Handler()
          默认构造方法。
 
方法摘要
abstract  voidclose()
          关闭 Handler,并释放所有相关的资源。
abstract  voidflush()
          刷新和缓冲输出。
 StringgetEncoding()
          返回该 Handler 的字符编码。
 ErrorManagergetErrorManager()
          检索该 Handler 的 ErrorManager。
 FiltergetFilter()
          获得该 Handler 的当前 Filter
 FormattergetFormatter()
          返回该 HandlerFormatter
 LevelgetLevel()
          获得用于指定该 Handler 所记录信息的日志级别。
 booleanisLoggable(LogRecord record)
          检查该 Handler 是否实际记录给定的 LogRecord
abstract  voidpublish(LogRecord record)
          发布 LogRecord
protected  voidreportError(String msg, Exception ex, int code)
          用于向该 Handler 的 ErrorManager 报告错误的受保护便利方法。
 voidsetEncoding(String encoding)
          设置该 Handler 所用的字符编码。
 voidsetErrorManager(ErrorManager em)
          为该 Handler 定义一个 ErrorManager。
 voidsetFilter(Filter newFilter)
          设置 Filter,以控制该 Handler 的输出。
 voidsetFormatter(Formatter newFormatter)
          设置 Formatter
 voidsetLevel(Level newLevel)
          设置日志级别,指定该 Handler 所记录的信息级别。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Handler

protected Handler()
默认构造方法。得到的 Handler 具有 Level.ALL 的日志级别,不具有 FormatterFilter。作为 ErrorManager 安装默认的 ErrorManager 实例。

方法详细信息

publish

public abstract void publish(LogRecord record)
发布 LogRecord

最初向 Logger 对象发出的日志请求,此请求可初始化 LogRecord 并可在此转发这一日志记录。

Handler 负责在必要时进行信息格式化。 格式化应该包括本地化。

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

flush

public abstract void flush()
刷新和缓冲输出。


close

public abstract void close()
                    throws SecurityException
关闭 Handler,并释放所有相关的资源。

Close 方法将执行 flush,然后关闭 Handler。调用 close 方法后,就不应再使用该 Handler。要么默认忽略方法调用,要么抛出运行时异常。

抛出:
SecurityException - 如果存在安全管理器,且调用方不具有 LoggingPermission("control")

setFormatter

public void setFormatter(Formatter newFormatter)
                  throws SecurityException
设置 Formatter。将该 Formatter 用于格式化该 HandlerLogRecords

某些 Handlers 不能使用 Formatters,在此情形下将记住而不是使用 Formatter

参数:
newFormatter - Formatter 将使用(不可为空)
抛出:
SecurityException - 如果存在安全管理器,且调用方不具有 LoggingPermission("control")

getFormatter

public Formatter getFormatter()
返回该 HandlerFormatter

返回:
Formatter(可以为空)。

setEncoding

public void setEncoding(String encoding)
                 throws SecurityException,
                        UnsupportedEncodingException
设置该 Handler 所用的字符编码。

应在将任何 LogRecords 写入 Handler 之前设置编码。

参数:
encoding - 所支持字符编码的名称。可以为空,以表明应为默认平台编码。
抛出:
SecurityException - 如果存在安全管理器,且调用方不具有 LoggingPermission("control")
UnsupportedEncodingException - 如果不支持指定的编码。

getEncoding

public String getEncoding()
返回该 Handler 的字符编码。

返回:
编码名称。可以为空,以表明应使用默认编码。