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 packages 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é) ;