|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。