Génération d'enregistrements de l'outil de diagnostic de premier niveau
Les enregistrements FFDC incluent la pile d'exceptions et des données supplémentaires facultatives qui sont enregistrées lorsqu'une exception inattendue est interceptée par votre code. Les méthodes de la classe com.ibm.ws.ffdc.FFDCFilter sont utilisées pour générer ces enregistrements, et de nombreuses méthodes permettent la capture de diverses données.
Exemple
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;
}
Où l'ID source (le nom de la classe dans cet exemple) et l'ID de sonde unique (le numéro de la ligne de code source en général) sont combinés pour fournir l'emplacement exact dans le code source qui génère l'enregistrement. Par défaut, les enregistrements sont écrits dans le répertoire ${server.output.dir}/logs/ffdc.
L'espace fichier utilisé par les enregistrements FFDC dans le cas d'une exception qui se répète est limité par le filtrage automatique des enregistrements en double. Pour tout ID source correspondants et nom de l'exception, au plus 10 exceptions avec des messages uniques sont écrits par jour.
Le code de la fonction peut ajouter des données aux enregistrements FFDC en enregistrant une implémentation com.ibm.ws.ffdc.DiagnosticModule avec la classe FFDC. Il peut également intercepter des enregistrements FFDC en enregistrant une implémentation com.ibm.wsspi.logging.IncidentForwarder avec la classe FFDC.