public abstract class Handler
extends Object
java.lang.Object | |
↳ | java.util.logging.Handler |
Known Direct Subclasses |
Known Indirect Subclasses |
一个Handler对象从Logger采用日志消息和出口他们。 例如,它可能会将它们写入控制台或将它们写入文件,或将它们发送到网络日志记录服务,或将它们转发到操作系统日志等。
可以通过执行 setLevel(Level.OFF)来禁用 Handler,并且可以通过执行具有适当级别的 setLevel来重新启用它。
Handler类通常使用LogManager个属性来用于设置默认值的Handler的Filter,Formatter,和Level。 请参阅每个混凝土Handler课程的具体文档。
Protected constructors |
|
---|---|
Handler() 默认的构造函数。 |
Public methods |
|
---|---|
abstract void |
close() 关闭 Handler并释放所有关联的资源。 |
abstract void |
flush() 冲洗任何缓冲输出。 |
String |
getEncoding() 返回此 Handler的字符编码。 |
ErrorManager |
getErrorManager() 检索此处理程序的ErrorManager。 |
Filter |
getFilter() 获取此 Handler当前 Filter。 |
Formatter |
getFormatter() 返回 Formatter这个 Handler。 |
Level |
getLevel() 获取日志级别,指定将由此 Handler记录哪些消息。 |
boolean |
isLoggable(LogRecord record) 检查这个 Handler是否会记录给定的 LogRecord 。 |
abstract void |
publish(LogRecord record) 发布一个 LogRecord 。 |
void |
setEncoding(String encoding) 设置此 Handler使用的字符编码。 |
void |
setErrorManager(ErrorManager em) 为此处理程序定义一个ErrorManager。 |
void |
setFilter(Filter newFilter) 设置一个 Filter来控制这个 Handler上的输出。 |
void |
setFormatter(Formatter newFormatter) 设置一个 Formatter 。 |
void |
setLevel(Level newLevel) 设置日志级别,指定此 Handler将记录哪些消息级别。 |
Protected methods |
|
---|---|
void |
reportError(String msg, 异常 ex, int code) 受保护的便捷方法向此Handler的ErrorManager报告错误。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
Handler ()
默认的构造函数。 由此产生的Handler的日志等级为Level.ALL ,编号为Formatter ,编号为Filter 。 默认的ErrorManager实例安装为ErrorManager 。
void close ()
关闭 Handler并释放所有关联的资源。
关闭方法将执行flush ,然后关闭Handler 。 关闭后被称为Handler应该不再使用。 方法调用可能会被忽略或者可能抛出运行时异常。
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
String getEncoding ()
返回此 Handler的字符编码。
Returns | |
---|---|
String |
The encoding name. May be null, which indicates the default encoding should be used. |
ErrorManager getErrorManager ()
检索此处理程序的ErrorManager。
Returns | |
---|---|
ErrorManager |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
Filter getFilter ()
获取此 Handler当前 Filter。
Returns | |
---|---|
Filter |
a Filter object (may be null) |
Formatter getFormatter ()
返回 Formatter这个 Handler。
Returns | |
---|---|
Formatter |
the Formatter (may be null). |
Level getLevel ()
获取日志级别,指定此Handler将记录哪些消息。 低于此级别的消息级别将被丢弃。
Returns | |
---|---|
Level |
the level of messages being logged. |
boolean isLoggable (LogRecord record)
检查这个 Handler是否会记录给定的 LogRecord 。
该方法检查LogRecord是否具有适当的Level以及它是否满足任何Filter 。 它也可能使其他Handler特定检查可能阻止处理程序记录LogRecord 。 如果LogRecord为空,它将返回false。
Parameters | |
---|---|
record |
LogRecord : a LogRecord |
Returns | |
---|---|
boolean |
true if the LogRecord would be logged. |
void publish (LogRecord record)
发布 LogRecord 。
日志记录请求最初被创建为一个 Logger对象,该对象初始化了 LogRecord并在此转发。
如有必要, Handler负责格式化消息。 格式应包括本地化。
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 setErrorManager (ErrorManager em)
为此处理程序定义一个ErrorManager。
如果在使用此处理程序时发生任何错误,则将调用ErrorManager的“错误”方法。
Parameters | |
---|---|
em |
ErrorManager : the new ErrorManager |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void setFilter (Filter newFilter)
设置 Filter以控制此 Handler上的输出。
对于 publish每个呼叫的 Handler会调用这个 Filter(如果非空),以检查是否 LogRecord应发布或放弃。
Parameters | |
---|---|
newFilter |
Filter : a Filter object (may be null) |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void setFormatter (Formatter newFormatter)
设置一个Formatter 。 这Formatter将用于格式LogRecords这Handler 。
一些 Handlers可能不会使用 Formatters ,在这种情况下, Formatter将被记住,但未被使用。
Parameters | |
---|---|
newFormatter |
Formatter : the Formatter to use (may not be null) |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void setLevel (Level newLevel)
设置日志级别,指定此Handler将记录哪些消息级别。 低于此值的消息级别将被丢弃。
其目的是允许开发人员打开大量日志记录,但限制发送到某些 Handlers的消息。
Parameters | |
---|---|
newLevel |
Level : the new value for the log level |
Throws | |
---|---|
SecurityException |
if a security manager exists and if the caller does not have LoggingPermission("control"). |
void reportError (String msg, 异常 ex, int code)
受保护的便捷方法向此Handler的ErrorManager报告错误。 请注意,此方法将检索并使用ErrorManager,而不执行安全检查。 因此可以在呼叫者可能没有特权的环境中使用。
Parameters | |
---|---|
msg |
String : a descriptive string (may be null) |
ex |
异常 : an exception (may be null) |
code |
int : an error code defined in ErrorManager |