Skip to content
adepolas edited this page Feb 25, 2015 · 17 revisions

1. Liste des classes et rôle

L'architecture pour chaque classe concrète est telle que :

Interface

Classe abstraite

Classe concrète

Package core:

  • AbstractLevel : Ceci est une classe abstraite mère servant de modèle pour la classe Level.

  • AbstractLogger : Cette classe est une classe abstraite mère étant le modèle pour la classe Logger.

  • DefaultLogger :

  • Level : Cette classe décrit le mode d'un log (informative, avertissant, erreur, trace ou debug mode)

  • LogManager : Comme son nom l'indique, cette classe permet de gérer un 'logger'. Ceci est une classe qui permet l'interaction entre les autres classes.

  • DefaultLogger : C'est une classe de type Logger concrète et celle qui sera employé par défaut.

  • Logger : C'est une interface qui définit les caractéristiques nécessaires à un logger, qui devront parser le fichier de configuration pour entre autre déterminer le niveau de logs à émettre.

Package config:

  • AbstractConfigurator : Ceci est une classe abstraite mère servant de modèle pour la classe Configurator.

  • Configurator : C'est une interface qui permettra de redéfinir à l'avenir des 'configurateurs' qui devront offrir la possibilité à l'utilisateur de modifier le fichier de configuration.

  • DefaultConfigurator : Ceci est un exemple de classe de configurateur qui sera utilisé de base dans le projet.

  • Key : C'est une énumération de toutes les valeurs possibles que peut prendre un niveau de log, le type de destination(fichier,base,etc..) et le format du log(avec date, sans date, avec niveau, etc..).

Package formater:

  • AbstractFormater : Ceci est une classe abstraite mère servant de modèle pour la classe Formater.

  • DefaultFormater : C'est la classe concrète DefaultFormater qui est utilisé comme formateur pour nos exemples (avec le séparateur '|' entre chaque entité d'un même message).

  • Formater : C'est une interface qui définit la base d'un formateur qui est censé gérer la 'mise en page' du message à afficher/écrire.

Package handler:

  • AbstractHandler : Ceci est une classe abstraite mère servant de modèle pour la classe Handler.

  • ConsoleHandler : Ceci est une classe gérant l'affichage des logs en console.

  • DataBaseHandler : Ceci est une classe gérant les logs depuis une base de données (Non réalisé).

  • FileHandler : Ceci est une classe gérant les logs au format de fichier (type .log rotatif).

  • Handler : Ceci est une interface qui possèdent les méthodes obligatoire qui devront apparaître dans les classes de gestion de logs (suivant les nouvelles cibles).

  • Printer : Ceci est une interface

CONCLUSION Nous avons pu développer dans les temps, toutes les fonctionnalités pour répondre aux besoins énoncés. A noter, que la gestion de base de données pour les logs n'a pas été implémenter. Néanmoins, l'architecture du framework a été fait de telle sorte que l'on puisse le rajouter !

Merci de le partager, et nous faire part d'éventuelles anomalies.

Et maintenant à vous de jouer ;)