Débugage avec log4j Azim Roussanaly Principe Programme Java avec des traces + log4j.properties <trace>.log Miage SID 2 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 3 Concepts de base Logger : Appender Identifie les classes à tracer Spécifie le type de traçage (console, fichier, mail,…) Layout Détermine la mise en forme des messages Miage SID 4 Logger rootLogger Niveau: •DEBUG •INFO •WARN •ERROR •FATAL fr miage nancy corpus Lexique Corpus Miage SID 5 Créer un Logger package fr.loria.led.jmorphalou.jflex; public class MorphTagger { private final static Logger logger = Logger.getLogger(MorphTagger.class); Miage SID 6 Tracer public Sentence tag() { logger.info("start tagging"); … … try{ … }catch{ logger.warn("may be eof ?"); } … logger.info("end tagging :"+sent.getId()); … } Miage SID 7 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 8 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 9 log4j.properties #définition du Layout pour "monAppender" log4j.appender.monAppender.layout=org.apache.log4j.PatternLa yout #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{yyyyMM-dd HH:mm:ss} %-5p [%C] %m%n log4j.appender.monAppender.layout=org.apache.log4j.SimpleLay out log4j.appender.monAppender.layout=org.apache.log4j.HTMLLayou t Miage SID 10