產生第一個失敗資料擷取 (FFDC) 記錄
FFDC 記錄包括異常狀況堆疊,以及您的程式碼捕捉到非預期的異常狀況時所記錄的其他選用資料。 會使用 com.ibm.ws.ffdc.FFDCFilter 類別上的方法來產生這些記錄,且有許多方法可能會導致擷取各種資料。
範例
FFDCFilter 類別的一般用法如下:
try{
// … do something
} catch (Exception e) {
FFDCFilter.processException(e, getClass().getName(), unique-probe-id);
if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
Tr.debug(tc, "Exception when doing something; " + e);
}
return;
}
其中來源 ID(這個範例是類別名稱)和唯一探測 ID(通常是原始碼行號)結合起來,會提供原始碼中產生結果記錄的確切位置。 依預設,記錄會寫入 ${server.output.dir}/logs/ffdc 目錄中。
在持續發生異常狀況的情況下,自動過濾重複記錄會限制 FFDC 記錄所用的檔案空間。 如果有任何相符的來源 ID、探測 ID 和異常狀況名稱,每天只會寫入最多 10 個含有唯一訊息的異常狀況。
特性碼可以將 com.ibm.ws.ffdc.DiagnosticModule 實作登錄於 FFDC 類別,從而將資料提供給 FFDC 記錄。 特性碼也可以將 com.ibm.wsspi.logging.IncidentForwarder 實作登錄於 FFDC 類別來截取 FFDC 記錄。