|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.util.logging.Handler
public abstract class Handler
Handler 对象从 Logger 中获取日志信息,并将这些信息导出。例如,它可将这些信息写入控制台或文件中,也可以将这些信息发送到网络日志服务中,或将其转发到操作系统日志中。
可通过执行 setLevel(Level.OFF) 来禁用 Handler,并可通过执行适当级别的 setLevel 来重新启用。
Handler 类通常使用 LogManager 属性来设置 Handler 的 Filter、Formatter 和 Level 的默认值。有关每个具体的 Handler 类,请参阅指定的文档。
构造方法摘要 | |
---|---|
protected |
Handler()
默认构造方法。 |
方法摘要 | |
---|---|
abstract void |
close()
关闭 Handler,并释放所有相关的资源。 |
abstract void |
flush()
刷新所有的缓冲输出。 |
String |
getEncoding()
返回该 Handler 的字符编码。 |
ErrorManager |
getErrorManager()
获取该 Handler 的 ErrorManager。 |
Filter |
getFilter()
获得该 Handler 的当前 Filter。 |
Formatter |
getFormatter()
返回该 Handler 的 Formatter。 |
Level |
getLevel()
获得用于指定该 Handler 所记录信息的日志级别。 |
boolean |
isLoggable(LogRecord record)
检查该 Handler 是否实际记录给定的 LogRecord。 |
abstract void |
publish(LogRecord record)
发布 LogRecord。 |
protected void |
reportError(String msg,
Exception ex,
int code)
用于向该 Handler 的 ErrorManager 报告错误的受保护便利方法。 |
void |
setEncoding(String encoding)
设置该 Handler 所用的字符编码。 |
void |
setErrorManager(ErrorManager em)
为该 Handler 定义一个 ErrorManager。 |
void |
setFilter(Filter newFilter)
设置 Filter,以控制该 Handler 的输出。 |
void |
setFormatter(Formatter newFormatter)
设置 Formatter。 |
void |
setLevel(Level newLevel)
设置日志级别,指定该 Handler 所记录的信息级别。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
protected Handler()
方法详细信息 |
---|
public abstract void publish(LogRecord record)
最初向 Logger 对象发出的日志请求,此请求可初始化 LogRecord 并可在此转发这一日志记录。
Handler 负责在必要时进行信息格式化。 格式化应该包括本地化。
record
- 日志事件的描述。忽略 null 记录,并且也不发布它。public abstract void flush()
public abstract void close() throws SecurityException
Close 方法将执行 flush,然后关闭 Handler。调用 close 方法后,就不应再使用该 Handler。要么默认忽略方法调用,要么抛出运行时异常。
SecurityException
- 如果存在安全管理器,且调用者不具有 LoggingPermission("control")。public void setFormatter(Formatter newFormatter) throws SecurityException
某些 Handlers 不能使用 Formatters,在此情形下将记住而不是使用 Formatter。
newFormatter
- Formatter 将使用(不可为空)
SecurityException
- 如果存在安全管理器,且调用者不具有 LoggingPermission("control")。public Formatter getFormatter()
public void setEncoding(String encoding) throws SecurityException, UnsupportedEncodingException
应在将任何 LogRecords 写入 Handler 之前设置编码。
encoding
- 所支持字符编码的名称。可以为空,以表明应为默认平台编码。
SecurityException
- 如果存在安全管理器,且调用者不具有 LoggingPermission("control")。
UnsupportedEncodingException
- 如果不支持指定的编码。public String getEncoding()
public void setFilter(Filter newFilter) throws SecurityException
对于 publish 的每个调用,Handler 将调用该 Filter (如果不为空),以检查是否应发布或放弃 LogRecord。
newFilter
- Filter 对象(可以为空)
SecurityException
- 如果存在安全管理器,且调用者不具有 LoggingPermission("control")。public Filter getFilter()
public void setErrorManager(ErrorManager em)
如果使用该 Handler 时发生任何错误,将调用 ErrorManager 的 "error" 方法。
em
- 新的 ErrorManager
SecurityException
- 如果存在安全管理器,且调用者不具有 LoggingPermission("control")。public ErrorManager getErrorManager()
SecurityException
- 如果存在安全管理器,且调用者不具有 LoggingPermission("control")。protected void reportError(String msg, Exception ex, int code)
msg
- 描述性字符串(可以为空)ex
- 异常(可以为空)code
- 在 ErrorManager 中定义的错误代码public void setLevel(Level newLevel) throws SecurityException
其目的在于允许开发人员打开大多数日志,但是限制将信息发送到特定 Handlers。
newLevel
- 日志级别的新值
SecurityException
- 如果存在安全管理器,且调用者不具有 LoggingPermission("control")。public Level getLevel()
public boolean isLoggable(LogRecord record)
该方法检查 LogRecord 是否具有适当的 Level,以及是否满足任何 Filter。它也可进行其他 Handler 特定的检查,以防处理程序记录 LogRecord。如果 LogRecord 为 Null,将返回 False。
record
- 一个 LogRecord
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。