package example; import org.apache.log4j.*; import org.apache.log4j.xml.*; import java.io.*; public class ExLog1 { //(1)Loggerオブジェクトの生成 static Logger log = Logger.getLogger(ExLog1.class.getName()); public static void main(String[] args) { //(2)設定ファイルの読み込み DOMConfigurator.configure("log4j.xml"); ExLog1 obj1 = new ExLog1(); ExLog2 obj2 = new ExLog2(); obj1.methodA(); obj2.methodB(); } void methodA() { try { FileReader in = new FileReader("test.txt"); //(3) } catch(IOException e) { log.warn("エラー:" + e); //(4)warnメソッドの記述 } } }
package example; import org.apache.log4j.*; public class ExLog2 { //(1)Loggerオブジェクトの生成 static Logger log = Logger.getLogger(ExLog2.class.getName()); void methodB() { int x = 20; if(x > 10) { log.info("変数は10以上です。"); //(2)infoメソッドの記述 } } }
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'> <!-- (1)appenderの設定 --> <appender name="FILE" class="org.apache.log4j.FileAppender"> <param name="File" value="log.txt" /> <!-- (2)layoutの設定 --> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{yyyy/mm/dd} %p:%r:%c:%m%n" /> </layout> </appender> <!-- (3)categoryの設定 --> <category name="example"> <priority value="info" /> <appender-ref ref="FILE" /> </category> </log4j:configuration>
※コンパイル D:\JAVA\example>javac -classpath D:\JAVA\log4j-1.2.8.jar;. *.java D:\JAVA\example>cd .. ※実行 D:\JAVA>java -classpath D:\JAVA\log4j-1.2.8.jar;. example.ExLog1 D:\JAVA>