Cet article décrit les préparatifs pour activer la sortie du journal à l'aide du package org.apache.log4j dans Eclipse.
Commencez par télécharger le package log4j (ici log4j-1.2.17.zip) depuis le site suivant. http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip
Décompressez le fichier log4j-1.2.17.zip et ajoutez le fichier log4j-1.2.17.jar à la bibliothèque externe de votre projet. Depuis l'écran Eclipse
Testons si le journal est généré avec un projet simple.
package test.project; import org.apache.log4j.Logger;
public class TestClass { public static void main(String[] args) { Logger logger = Logger.getLogger(TestClass.class.getName()); // Sortie du journal logger.info("This is info."); } }
Lorsque je l'exécute, le journal n'est pas sorti. L'erreur suivante est sortie. log4j:WARN No appenders could be found for logger (test.project.TestClass). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Après examen, cette erreur semble être une erreur me demandant de définir le paramètre de sortie du journal car je ne le trouve pas dans test.project.TestClass. En tant que méthode de paramétrage, il existe une méthode à définir dans le fichier de propriétés (log4j.properties) et le fichier XML (log4j.xml), donc cette fois nous utiliserons le fichier XML.
< ?xml version="1.0" encoding="UTF-8" ?> < !DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> < log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> < appender name="stdout" class="org.apache.log4j.ConsoleAppender"> < param name="Target" value="System.out" /> < layout class="org.apache.log4j.PatternLayout"> < param name="ConversionPattern" value="%d{yyyy/MM/dd HH: mm:ss SSS} %5p %5t %c{1} - %m%n" /> < /layout> < /appender>
< category name="test.project" > < appender-ref ref="stdout" /> < /category>
< /log4j:configuration >
Je vais essayer à nouveau. Cela reviendra. log4j:WARN No appenders could be found for logger (test.project.TestClass). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Pourquoi est-ce toujours une erreur? Quand j'ai recherché diverses choses, il semble que je ne puisse pas le voir car log4j.xml est à un endroit où le chemin de classe ne passe pas.
public class TestClass { public static void main(String[] args) { Logger logger = Logger.getLogger(TestClass.class.getName()); // Ajouter et confirmer <À partir d'ici> URL fileXmlUrl = Loader.getResource("log4j.xml"); DOMConfigurator.configure (fileXmlUrl); // <-fileXmlUrl est null // Ajouter et confirmer <jusqu'ici> // Sortie du journal logger.info("This is info."); } }
Maintenant, si vous exécutez la source que vous avez exécutée ci-dessus, vous obtiendrez une valeur au lieu d'un null. Ensuite, si vous supprimez la pièce ajoutée et la déplacez, elle fonctionnera correctement cette fois.
2017/XX/XX 14:56:09 781 INFO main TestClass - This is info.
Recommended Posts