-
Notifications
You must be signed in to change notification settings - Fork 7
CTD Developpement
L'architecture pour chaque classe concrète est telle que :
Interface
Classe abstraite
Classe concrète
-
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.
-
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.
-
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..).
-
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.
-
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 ;)
Membres de l'équipe
- Kadary Dembele - Profil GitHub
- Adeline Mani-Rajan - Profil GitHub
- Marc-Henry Geay - Profil GitHub