6 mars 2018 17:25:39 seb leridon avatar

Règles de logging


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 catchne doivent jamais être vide 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 catchsera 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.