FFDC-Datensätze generieren
FFDC-Datensätze enthalten den Ausnahmebedingungsstack und optionale zusätzliche Daten, die aufgezeichnet werden, wenn eine unerwartete Ausnahmebedingung von Ihrem Code abgefangen wird. Methoden in der Klasse com.ibm.ws.ffdc.FFDCFilter werden verwendet, um diese Datensätze zu generieren, und es gibt eine Reihe von Methoden, mit denen Sie eine Vielzahl von Daten aufzeichnen können.
Beispiel
try{
// … Aktionen ausführen
} 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;
}
Die Kombination aus Quellen-ID (in diesem Beispiel der Klassenname) und eindeutiger Prüf-ID (probe ID, üblicherweise die Zeilennummer des Quellcodes) gibt die genaue Position in dem Quellcode an, der den Ergebnisdatensatz generiert. Standardmäßig werden die Datensätze in das Verzeichnis ${server.output.dir}/logs/ffdc geschrieben.
Der Dateibereich, der von den FFDC-Datensätzen im Falle einer permanent auftretenden Ausnahmebedingung verwendet wird, wird durch die automatische Filterung doppelter Datensätzen begrenzt. Für jede Quellen-ID, Prüf-ID (probe ID) und jeden Ausnahmebedingungsnamen werden pro Tag maximal 10 Ausnahmebedingungen mit eindeutigen Nachrichten geschrieben.
Feature-Code kann durch die Registrierung einer com.ibm.ws.ffdc.DiagnosticModule-Implementierung bei der FFDC-Klasse Daten zu FFDC-Datensätzen beitragen. Außerdem kann Feature-Code durch die Registrierung einer com.ibm.wsspi.logging.IncidentForwarder-Implementierung bei der FFDC-Klasse auch FFDC-Datensätze abfangen.