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.