In diesem Artikel wird beschrieben, wie Sie das Paket org.apache.log4j in Eclipse verwenden, um die Protokollausgabe sowohl für Dateien als auch für Konsolen zu aktivieren.
Wenn Sie vor dem Lesen dieses Artikels keine Umgebung haben, in der Protokolle mit dem Paket log4j ausgegeben werden können, müssen Sie eine Umgebung erstellen, indem Sie auf den folgenden Link verweisen. Referenzartikel: https://qiita.com/toolate32/items/538f3a99d23a7a1f29bd
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."); } }
Derzeit wird es an die Konsole ausgegeben. Konsolenausgabe: 2017/XX/XX 14:56:09 781 INFO main TestClass - This is info.
Der Inhalt der aktuellen log4j.xml lautet wie folgt. 1:< ?xml version="1.0" encoding="UTF-8" ?> 2:< !DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 3:< log4j:configuration xmlns:log4j="" class="autolink">http://jakarta.apache.org/log4j/" > 4:< appender name="stdout" class="org.apache.log4j.ConsoleAppender"> 5:< param name="Target" value="System.out" /> 6:< layout class="org.apache.log4j.PatternLayout"> 7:< param name="ConversionPattern" value="%d{yyyy/MM/dd HH: mm:ss SSS} %5p %5t %c{1} - %m%n" /> 8:< /layout> 9:< /appender> 10:< category name="test.project" > 11:< appender-ref ref="stdout" /> 12:< /category> 13:< /log4j:configuration>
1:< ?xml version="1.0" encoding="UTF-8" ?> 2:< !DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 3:< log4j:configuration xmlns:log4j="" class="autolink">http://jakarta.apache.org/log4j/" > 4:< appender name="stdout" class="org.apache.log4j.ConsoleAppender"> 5:< param name="Target" value="System.out" /> 6:< layout class="org.apache.log4j.PatternLayout"> 7:< param name="ConversionPattern" value="%d{yyyy/MM/dd HH: mm:ss SSS} %5p %5t %c{1} - %m%n" /> 8:< /layout> 9:< /appender> 4-1:< appender name="fileout" class="org.apache.log4j.FileAppender"> 5-1:< param name="File" value="logTest.log" /> 6-1:< layout class="org.apache.log4j.PatternLayout"> 7-1:< param name="ConversionPattern" value="%d{yyyy/MM/dd HH: mm:ss SSS} %5p %5t %c{1} - %m%n" /> 8-1:< /layout> 9-1:< /appender> 10:< category name="test.project" > 11:< appender-ref ref="stdout" /> 11-1:< appender-ref ref="fileout" /> 12:< /category> 13:< /log4j:configuration>
Die hinzugefügten Teile sind 4-1-1, 11-1. Da die Dateiausgabedefinition in 4-1 bis 9-1 und der apender-ref in der Zeile 11-1 auf "fileout" gesetzt ist, wird die Protokollausgabe der Definition in der Zeile 4-1 bis 9-1 ausgeführt.
Wenn ich nun versuche, die obige Quelle auszuführen, wird sie diesmal sowohl an die Konsole als auch an die Protokolldatei ausgegeben.
Konsolenausgabe 2017/XX/XX 20:37:17 689 INFO main TestClass - This is info.
Ausgabe der Protokolldatei (logTest.log) 2017/XX/XX 20:26:59 660 INFO main TestClass - This is info. 2017/XX/XX 20:37:17 689 INFO main TestClass - This is info.
Recommended Posts