Java Logging API.
Motivation
- Fournir une API de trace Java standard ;
Organisation
JLA est composé de :
- un log manager qui gère :
- la configuration globale de trace ;
- des loggers qui représentent des catégories
de traces, caractérisés par :
- un nom hiérarchique, généralement similaire
aux package et à la classe émétrice de la trace
(org.javarome.MaClasse par exemple). Par défaut
tous les messages envoyés à un logger fils sont envoyés
à son père ;
- un niveau (FINE, FINER, FINEST, ou SEVERE, WARNING, INFO,
CONFIG, ALL, OFF) optionnel car un logger hérite du niveau
de son père ;
- (optionnellement) un filtre ;
- des handlers qui représentent des destinations
de trace (console, fichiers rotatifs, sockets). Les handlers
référencent :
- (optionnellement) un filtre ;
- un formatter qui définit le format d'écriture
d'un handler (simple, XML) ;
- (optionnellement) d'autres handlers ;
Exemples
Des exemples d'utilisation de JLog sont :
Logger logger = Logger.getLogger ("org.javarome.exemple");
logger.setLevel (Level.FINE);
//
Pourrait être défini dans le fichier de configuration
Logger autreLogger = Logger.getLogger ("org.javarome.autre");
logger.log (Level.FINER, "Attention"); //
Ok, car WARNING >= INFO
logger.severe ("MaClass", "Je suis juste
après", "'Attention'"); // Non affiché, car
FINE< INFO
if (logger.isLogging (Level.FINEST))
autreLogger.finest ("Located nearest gas station.");
// Affiché car autreLogger hérite du niveau INFO de son
père logger
autreLoger.debug ("Exiting gas station search"); //
Non affiché car autreLogger hérite du niveau INFO > FINE de
son père logger
Caractéristiques
- Dans le cadre d'exécution d'un conteneur J2EE,
ce dernier remplace le log manager ;
- Méthodes utiles pour signaler les entrées et sorties de méthode
;
- Internationalisation intégrée (getLogger (ResourceBundle)
et logger.info ("Mon message {0} : {1}", tableauValeurs))
;
Exemples
Des exemples d'applications utilisant JLA sont :
Limitations
- Eviter les concaténations de chaînes avec des "+"
dans les chaînes de log (effectuées même quand le log est
désactivé) ;
Ressources