6 mars 2018, 17:25:39 seb leridon

Règles de logging

Table des matières


Les logs de Lutèce

Lutèce dispose de plusieurs fichiers de logs :

  • application.log contient les principaux événements de l’application : chargement des services, des plugins, etc.

  • error.log contient tous les faits anormaux.

Gestion des exceptions

Toute exception doit être consignée dans un fichier log.

Les blocs catch ne doivent jamais être vides ou faire appel à e.printStackTrace().

Exceptions non critiques

Les exceptions ne nécessitant pas l’arrêt du traitement en cours doivent être loguées de la manière suivante :

catch( Exception e )
{
    AppLogService.error( e.getMessage() , e );
}

Exceptions critiques

Les exceptions nécessitant l’arrêt du traitement (exemples : erreur SQL, problème d’accès fichier, …) doivent lever une exception dérivée de LuteceException (PhysicalException, ClientException, …). La classe LuteceException réalise elle-même l’écriture dans les logs. Le traitement du bloc catch sera alors réalisé de la manière suivante :

catch( Exception e )
{
    throw new AppException( e.getMessage() , e );
}

Exceptions applicatives

Les exceptions applicatives, telles que UserActionException, sont les seules qui ne nécessitent pas d’être loguées car elles correspondent à un cas normal d’exécution de l’application.