Débugage avec log4j Azim Roussanaly
Programme Java avec des traces Principe log4j.properties Programme Java avec des traces + exécution <trace>.log Miage SID
Installation Il s’agit d’une API java disponible via le projet Apache (logiciel libre) http://logging.apache.org/log4j/ Copier l’archive log4j-<version>.jar dans un dossier accessible par le CLASSPATH Miage SID
Concepts de base Logger : Appender Layout Identifie les classes à tracer Appender Spécifie le type de traçage (console, fichier, mail,…) Layout Détermine la mise en forme des messages Miage SID
Logger rootLogger Niveau: DEBUG INFO WARN ERROR FATAL fr miage nancy corpus Lexique Corpus Miage SID
Créer un Logger package fr.loria.led.jmorphalou.jflex; public class MorphTagger { private final static Logger logger = Logger.getLogger(MorphTagger.class); Miage SID
Tracer public Sentence tag() { logger.info("start tagging"); … try{ }catch{ logger.warn("may be eof ?"); } logger.info("end tagging :"+sent.getId()); Miage SID
log4j.properties #définition du niveau et des Appender du rootLogger log4j.rootLogger=DEBUG, monAppender log4j.logger.fr.loria.led.jmorphalou.jflex=INFO Miage SID
log4j.properties #configuration de "monAppender" log4j.appender.monAppender=org.apache.log4j.FileAppender log4j.appender.monAppender.File=jmorphalou.log log4j.appender.monAppender.Append=false log4j.appender.monAppender=org.apache.log4j.ConsoleAppender Miage SID
log4j.properties #définition du Layout pour "monAppender" log4j.appender.monAppender.layout=org.apache.log4j.PatternLayout #définition du pattern d'affichage pour "monAppender" #voici un exemple de sortie que l'on va obtenir : 2005-06-18 14:53:37 DEBUG [Main] Hello World log4j.appender.monAppender.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] %m%n log4j.appender.monAppender.layout=org.apache.log4j.SimpleLayout log4j.appender.monAppender.layout=org.apache.log4j.HTMLLayout Miage SID