Skip to content

DOC Premiers pas et exemples

Kad DEMBELE edited this page Mar 15, 2015 · 9 revisions

Pour utiliser rapidement le Java Logger, vous devez suivre cette procédure dans votre IDE - Environnement de développement. Dans cette documentation, Eclipse sera utilisé comme IDE d'exemple.

Deux possibilités: Dépendence maven ou projet classic

Ajouter la dépendence à votre POM (Maven)

  <groupId>org.thesoftwarecraftsman.logging</groupId>
  <artifactId>javaLogger</artifactId>
  <version>${last-version}</version>
  </dependency>

Remplacez ${last-version} par la dernière release proposée en autocompletion par maven ou alors présente à cette adresse: https://github.com/demkada/Java-Logger/releases

Téléchargez la dernière release (Projet java autre que maven)

Releases : https://github.com/demkada/Java-Logger/releases

Récupérez uniquement les deux fichiers java-logger-X.x.jar et javaLogger.properties

Prérequis dans votre projet

Sur le nom de votre projet Java, faites un clic droit > Build Path > Add External Archives... Choisissez la librairie java-logger-X.x.jar sur votre ordinateur

Copiez le fichier de configuration javaLogger.properties à la racine de votre projet au même niveau que les répertoires bin et src en l'ayant au préalable personnalisé (Toutes les directives sont dans le fichier).

Exemple d'utilisation

Par défaut le Java Logger écrit dans la console de l'IDE et dans un fichier log.

Pour instancier un logger :

public static final LogManager logManager = new LogManager(); //Intantie un context de logging et charge les configurations
Logger logger = logManager.getLogger();  //Pour instancier un logger identifié par le nom canonique de la classe appelante
Logger MaClasseLogger = logManager.getLogger(MaClasse.class); //Pour instancier un logger identifé par le nom canonique de MaClasse.class
Logger CustumLogger = logManager.getLogger("esiea"); // Pour instancier un logger déclaré dans le fichier de configuration où 'esiea' est l'identifiant du logger. Si le logger est personnalisé dans le fichier de configuration, il sera chargé avec sa configuration

Peu importe la façon dont un logger a été créé ; chargé avec sa configuration du fichier JavaLogger.properties ou simplement instancier, vous pouvez surcharger les configuration directement par programmation. Par exemple pour le logger "logger" instancié plus haut on peut :

logger.addHandler(new ConsoleHandler()); //pour ajouter la cible console au logger
logger.addHandler(new FileHandler()); //pour ajouter la cible File aussi au logger mais là, le chemin du fichier de log et sa taille pour une rotation seront determiné par la configuration par défaut
logger.addHandler(new FileHandler("D:/JavaLogger/log.log", 5)); //pour ajouter la cible file au logger, en spécifiant le chemin vers le fichier de log et la taille en Ko de chaque fichier (0 signifie infini)
logger.setFormater(new DefaultFormater()); //Ajouter un formater au logger
logger.setLevel(Level.INFO); //Spécifier le niveau d'information du logger (TRACE > ERROR > DEBUG > WARM > INFO)

Si aucune personnalisation spécifique n'a été définie pour un logger (A travers le fichier de configuration ou par programmation) ce sont les valeurs présentes dans la section "Framework Default configuration" du fichier de configuration qui seront utilisé pour ce logger.

Il est à noter que vous pouvez créer vos propres formaters de messages et vos propres cibles sans même avoir besoin du code source de JavaLogger: Pour La cible, il suffit d’hériter de la classe AbstractHandler et pour le formateur il suffit juste d’hériter votre nouveau formateur de la classe AbstractFormater. Une fois héritage terminé, implémentez les différentes méthodes imposées et configurer vos loggers avec vos nouvelles classes. (Magique non!)

// Niveau de log INFO
logger.info("Connection to prod3.edu database");

Votre message sera journalisé en fonction de vos configurations

Suite : Personnaliser le logger

https://github.com/demkada/Java-Logger/wiki/DOC-Fichier-de-configuration