撰寫靜態配接器的 Java 類別
在建立靜態日誌剖析器時,會用 Java 類別來取代配接器配置檔的擷取器、剖析器和格式製作器元件。
靜態剖析器類別必須實作 org.eclipse.hyades.logging.parser.IParser 介面。
您可以繼承 org.eclipse.hyades.logging.parser.Parser 或 org.eclipse.hyades.logging.parser.MonitoringParser 其中一個抽象類別來做到這一點。
繼承 Parser 類別
當您建立靜態剖析器來剖析不會再被更新的日誌檔,或者在環境定義的執行期間剖析日誌檔時,應該使用這個類別。如果使用這個類別,則「環境定義實例」的配置中不可選取「連續作業」勾選框。
- 新增 import 陳述式 import org.eclipse.hyades.logging.parsers.Parser;。
- 新增下列方法到類別中︰
- public void setConfiguration(Hashtable)
通用日誌配接器會呼叫這個方法,來提供配置資訊給由使用者在「匯入日誌檔」精靈中所指定,或配接器配置檔所提供的靜態剖析器類別。
- public void preParse()
這是建立連線之類起始設定工作(適用的話)的執行位置。
- public void parser(Log)
不必要實作這個方法。
它可以繼承自 org.eclipse.hyades.logging.parsers.Parser。
- public ICommonBaseEvent[] parseNext()
這個方法將執行剖析日誌檔的主要邏輯,例如,剖析一組記錄,並傳回代表該組記錄資料的 Common Base Event 物件陣列。
- public void postParse()
這是任何清除工作的執行位置。
附註:protected 方法 Parser.readALine() 可用來讀取日誌檔的資料。這個方法會從日誌檔讀取一行資料,如果讀取檔案時發生錯誤,將會擲出異常狀況。異常狀況將包含讀取失敗的相關資訊。
現有的 readLine() 方法在發生錯誤時會傳回空值在這個版本中已棄用。
繼承 MonitoringParser 類別
當您需要建立可連續監視日誌檔的靜態剖析器時,應該使用這個類別。附註:這個類別允許監視日誌檔,即使在啟動監視作業時該日誌檔不存在。必須繼承抽象類別 org.eclipse.hyades.logging.parser.MonitoringParser。這個類別繼承 Parser 類別。
要實作的方法與 Parser 類別相同,但請注意下列事項︰
- 新增 import 陳述式 import org.eclipse.hyades.logging.parser.MonitoringParser。
- 如果置換下列的 Parser 方法,請確定置換方法中要呼叫超類別中相對應的方法︰
- setConfiguration()
- readALine()
- postParse()
- 在 parseNext() 方法中,於傳回空值指出目前已無剖析記錄可傳回的前面新增 setEndOfFile() 呼叫。這樣可確保下次呼叫 readALine() 時,將會檢查日誌檔以判斷檔案是否變更以及是否有新的記錄可以剖析。
- 如果靜態剖析器需要指令將日誌檔轉換為更容易剖析或產生日誌檔的格式,在呼叫 setConfiguration() 之後,必須利用下列其中一個方法呼叫將指令指定給 MonitoringParser 類別︰setConverterCommand(String) 或 setConverterCommand(String[])。
如果指令將日誌資料寫入一個檔名不同於 setConfiguration() 中的配置參數所指定之名稱的檔案,必須使用 setFilename(String) 方法將新的日誌檔名稱指定給 MonitoringParser 類別。
附註︰
- org.eclipse.hyades.logging.parsers 外掛程式現在與 org.eclipse.hyades.logging.adapter 外掛程式存在相依關係。
- MonitoringParser 類別不提供直接存取日誌檔,除了 readALine() 方法之外。目前使用 Parser 類別的 logFile 成員直接從日誌檔讀取資料的靜態剖析器應該修改為使用 readALine() 方法。
寫好和測試好 Java 剖析器類別之後,您可以配置配接器配置檔的感應器元件來指向這個類別。.
相關概念
Hyades 通用日誌配接器概觀
Common Base Event 格式規格
相關作業
建立日誌剖析器
建立靜態配接器
配置感應器元件
相關參照
配接器配置檔結構
配接器配置編輯器
正規表示式文法
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.