□技術メモ - log4j ※管理人の個人的な技術メモです。サンプルソースを実行した結果について 管理人はいかなる責任も負いかねますのでご自身の責任でお試しください。 -------- log4j.xlsの例 ・XMLのパスは以下の通り。 C:\workspace\triTest\log4j.xml ・出力先は以下の通り。 C:\workspace\triTest\log\*.log -------- -------- log4j.propertiesの例 確認中 --------> log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=${user.dir}/app.log log4j.appender.file.Append=true log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %5p %c{1} - %m%n log4j.logger.jp.co.test1.main=info, file log4j.rootLogger=info, file log4j.debug=true <-------- 確認中 package jp.co.test1.main; import java.util.Properties; import jp.co.test1.tri1.Ts1Tri1; import jp.co.test1.tri2.Ts1Tri2; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; public class Ts1Main { static protected Logger logger = Logger.getLogger( Ts1Main.class.getName() ); // 円の面積を求める public static void main(String[] args) { // プロパティの確認 Properties prop = System.getProperties(); prop.list(System.out); System.out.println("----プロパティの確認 ここまで"); // 設定ファイル読み込み //URL url = Ts1Main.class.getResource("/log4j.properties"); // プロパティの場合 //PropertyConfigurator.configure(url); DOMConfigurator.configure("log4j.xml"); // XMLの場合 Ts1Tri1 ts1 = new Ts1Tri1(); Ts1Tri2 ts2 = new Ts1Tri2(); String str = ""; int pRadius = 20; // 半径 str = String.format("radius:%d", pRadius); logger.info(str); double pCircum = ts1.getCircum(pRadius); // 円周算出 str = String.format("circum:%f", pCircum); logger.info(str); double pArea = ts2.getArea(pCircum, pRadius); // 面積算出 str = String.format("area:%f", pArea); logger.debug(str); logger.info(str); logger.warn(str); logger.error(str); logger.fatal(str); System.out.println("----計算完了!"); } } -------- package jp.co.test1.tri1; import org.apache.log4j.Logger; public class Ts1Tri1 { static protected Logger logger = Logger.getLogger( Ts1Tri1.class.getName() ); //半径から円周を求めるメソッド public double getCircum(int pRadius) { String str = String.format("radius:%d", pRadius); logger.info(str); double dCircum = 3.14 * (pRadius + pRadius); return dCircum; } } -------- package jp.co.test1.tri2; import org.apache.log4j.Logger; public class Ts1Tri2 { static protected Logger logger = Logger.getLogger( Ts1Tri2.class.getName() ); //円周から面積を求めるメソッド public double getArea(double pCircum, int pRadius) { String str = String.format("circum:%f", pCircum); logger.info(str); double dArea = pCircum * pRadius / 2; return dArea; } } --------