Dieser Artikel beschreibt die Vorbereitungen zum Aktivieren der Protokollausgabe mit dem Paket org.apache.log4j in Eclipse.
Laden Sie zuerst das log4j-Paket (hier log4j-1.2.17.zip) von der folgenden Site herunter. http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip
Entpacken Sie die Datei log4j-1.2.17.zip und fügen Sie die Datei log4j-1.2.17.jar zur externen Bibliothek Ihres Projekts hinzu. Auf dem Eclipse-Bildschirm
Lassen Sie uns testen, ob das Protokoll mit einem einfachen Projekt ausgegeben wird.
package test.project; import org.apache.log4j.Logger;
public class TestClass { public static void main(String[] args) { Logger logger = Logger.getLogger(TestClass.class.getName()); // Protokollausgabe logger.info("This is info."); } }
Wenn ich es ausführe, wird das Protokoll nicht ausgegeben. Der folgende Fehler wird ausgegeben. 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. Bei der Prüfung scheint dieser Fehler ein Fehler zu sein, der mich auffordert, die Protokollausgabeeinstellung festzulegen, da ich sie in test.project.TestClass nicht finden kann. Als Einstellungsmethode gibt es eine Methode zum Festlegen in der Eigenschaftendatei (log4j.properties) und der XML-Datei (log4j.xml). Daher verwenden wir dieses Mal die XML-Datei.
< ?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 >
Ich werde es noch einmal versuchen. Das wird wieder herauskommen. 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. Warum ist es immer noch ein Fehler? Nachdem ich verschiedene Dinge untersucht habe, kann ich es anscheinend nicht sehen, da sich log4j.xml an einer Stelle befindet, an der der Klassenpfad nicht übergeben wird.
public class TestClass {
public static void main(String[] args) {
Logger logger = Logger.getLogger(TestClass.class.getName());
//
Wenn Sie nun die oben ausgeführte Quelle ausführen, erhalten Sie einen Wert anstelle einer Null. Wenn Sie das hinzugefügte Teil löschen und verschieben, funktioniert es diesmal ordnungsgemäß.
2017/XX/XX 14:56:09 781 INFO main TestClass - This is info.
Recommended Posts