約 5,841,660 件
https://w.atwiki.jp/taichik15/pages/18.html
Log4j log4j.xml クラスパスの通ったとことにlog4j.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="FILE" class="org.apache.log4j.DailyRollingFileAppender" param name="File" value="log/sportsbook.log" / param name="DatePattern" value=" . yyyy-MM-dd"/ layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value="%d{yyyy-MM-dd HH mm ss} %p %r %c %m%n" / /layout /appender root priority value="info" / appender-ref ref="FILE" / /root /log4j configuration サンプル 簡単なサンプル public static void main(final String[] args) throws Exception { Logger logger = Logger.getLogger(ArbitrageFinder.class); logger.debug("debug"); logger.info("info"); logger.warn("warn"); logger.error("error"); }
https://w.atwiki.jp/kattsu/pages/25.html
参考サイト http //www.javaroad.jp/opensource/js_log4j2.htm ここはlog4j.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 %5p %c{1} - %m%n" / /layout /appender appender name="file" class="org.apache.log4j.FileAppender" param name="File" value="/sample/logs/error.log" / param name="Threshold" value="debug" / rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy" param name="FileNamePattern" value="rolling.%d{yyyy-MM-dd}.log" / /rollingPolicy param name="Append" value="true" / layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value="%d %5p %c{1} - %m%n" / /layout /appender appender name="err" class="org.apache.log4j.FileAppender" param name="File" value="/sample/logs/error.log" / param name="Threshold" value="ERROR" / rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy" param name="FileNamePattern" value="rolling.%d{yyyy-MM-dd}.log" / /rollingPolicy param name="Append" value="true" / layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value="%d %5p %c{1} - %m%n" / /layout /appender category name="sample" appender-ref ref="file" / /category root appender-ref ref="err" / /root /log4j configuration
https://w.atwiki.jp/dotcom/pages/140.html
Log4Jがなんとなくできそうな気がした(気のせいかも)ので続けてお勉強してみることに。 Appenderってのを使うですよ。いきますよ。 出力先を指定するんです。 つまりコンソールにばっかり出してるだけじゃ能がないってやつをファイルとかに出力したいと思ったのです。 目次 目次 参考資料 とりあえず作ってみる。コピペしてゴー。 うまくいかないので参考サイトをよく読んでみる。 org.apache.log4j.Appender org.apache.log4j.WriterAppender 外部ファイルにログをはきだしたい、を作ってみるテスト・サンプルで試してみる 実行結果! 何度も実行してもファイルの内容を上書きしない出力方法にしてみる 参考資料 こちらを参考にさせていただいてやってみますよ。 http //www.techscore.com/tech/ApacheJakarta/Log4J/1-2.html とりあえず作ってみる。 やってみないとわからないですはい。 コピペしてゴー。 こういうことなのかしら?って思ってこれで実行してみたの。 コピペしちゃった。手で打たないと覚えないのにね。。。 package Log4Jtest.test.dotcom; import org.apache.log4j.*; public class Log4jTest { public static void main(String argv[]) { Logger logger = Logger.getLogger("Sample"); //Appenderインスタンスの生成 Appender appender = new ConsoleAppender(); logger.addAppender(appender); logger.info("This is info."); } } 実行結果 log4j ERROR No output stream or file set for the appender named [null]. 怒られた(ノ▽`) 赤文字でしたよ! 名前がnullですか。ほう。。。? そもそもちゃんと理解してるのかい私。 というわけで うまくいかないので参考サイトをよく読んでみる。 先のほうも読んでから実行ないとね。 Appenderについてお勉強しなおし。 org.apache.log4j.Appender インタフェースです。 Loggerに出力するときはこのインタフェースを使うんですね。 私いつもimportで org.apache.log4j.*; って省略してるから気づかなかったわ。 もひとつあるわ。もしかして私がやりたいのってこれ? org.apache.log4j.WriterAppender こちらはクラス。 OutputStreamとかに出力の時はこっちらしいです。 java.io.*がいりますな。 もしかしてこれじゃん?これ!!!こっちー! 外部ファイルにログをはきだしたい、を作ってみる 少しだけ利口になったような気がしたのでサンプルを動かしてみます。 テスト・サンプルで試してみる 使わせていただきました。ありがとうございます。 http //www.techscore.com/tech/ApacheJakarta/Log4J/3.html Log4jTestクラスの中をこんな風にしてみた。 public static void main(String argv[]) { //org.apache.log4j.PatternLayoutの生成 PatternLayout layout = new PatternLayout(); //出力ファイル名 String file = "sample.log"; //java.io.Writerオブジェクト //org.apache.log4j.WriterAppenderオブジェクト Writer writer = null; WriterAppender appender = null; try{ writer = new FileWriter(file); appender = new WriterAppender(layout,writer); }catch(IOException e){ } Logger logger = Logger.getLogger("Sample"); logger.addAppender(appender); logger.info("This is info."); System.out.println("おわったよん"); } ファイルに書き出すので実行してもコンソールに何もでない。 それは寂しかったのでとりあえず最後に終わりメッセージを。 java.io.Writerも使うので import java.io.*; も忘れずに。 String file = "sample.log"; 出力ファイル名がファイル名だけ。。。デフォルトで今いる場所に作られるのね。 ってことはEclipseならば、Log4jTestクラスを作ったプロジェクトのフォルダの中にあるってことだ。 workspaceフォルダの下の層を探そう。 そうをさがそう。 ベタなシャレじゃありませんよ。 実行結果! sample.logを見つけて開いてみると、できてました。 This is info. って入ってました。万歳。 とりあえずこれでできたようだわ。 念のためも一回実行してみよ。。。とおもったら案の定、ファイル上書きされてた(ノ▽`) だーよねー。 というわけでちょと形を変えてみたですよ。 何度も実行してもファイルの内容を上書きしない出力方法にしてみる 上の writer = new FileWriter(file); を writer = new FileWriter(file,true); にしてみました。 成功。 これで簡単な形で外部ファイルに書けるようになったわ。 次はフォーマットをきれいにしてみようっと。 じかんとかいれてー。
https://w.atwiki.jp/honeybe/pages/42.html
log4j 同一カテゴリのログに対して、levelに応じて別のappenderを適用する。 カテゴリを複数記述できないため、以下のようにする。 appenderを複数適用する。 appenderにてlevelに対してのfilterを設定する。 (filterは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="appender_1" class="org.apache.log4j.ConsoleAppender" filter class="org.apache.log4j.varia.LevelMatchFilter" param name="LevelToMatch" value="INFO"/ param name="AcceptOnMatch" value="true"/ /filter filter class="org.apache.log4j.varia.DenyAllFilter"/ /appender appender name="appender_2" class="org.apache.log4j.FileAppdender" param name="File" value="log.txt" / param name="Append" value="true" / filter class="org.apache.log4j.varia.LevelMatchFilter" param name="LevelToMatch" value="ERROR"/ param name="AcceptOnMatch" value="true"/ /filter filter class="org.apache.log4j.varia.DenyAllFilter"/ /appender category name="org.example" priority value="INFO" / appender-ref ref="appender_1" / appender-ref ref="appender_2" / /category /log4j configuration INFO以上のログを出力する。 Filter設定により、levelがINFOならばConsoleAppenderが有効になる。 Filter設定により、levelがERRORならばFileAppenderが有効になる。 Filter設定により、それ以外はすべて無効化される。(DenyAllFilterがそれを実現している) 詳しい解説は下記参照。 http //www.nurs.or.jp/~sug/soft/log4j/log4j13.htm
https://w.atwiki.jp/naobe/pages/72.html
OpenSourceに戻る Log4j.xmlの設定 1.3より前 ?xml version="1.0" encoding="UTF-8" ? !DOCTYPE log4j configuration SYSTEM "log4j.dtd" log4j configuration xmlns log4j= http //jakarta.apache.org/log4j/ !--テキストにログを出力するConsoleAppenderをSTDOUTとして定義 -- appender name="STDOUT" class="org.apache.log4j.ConsoleAppender" !-- 優先順位閾値 -- param name="threshold" value="WARN" / !-- ログの出力形式を指定 -- layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value="%d %-5p [%t] (%F %L) - %m%n" / /layout /appender !--決められた期間でログを別ファイルに切り替えて書き込む DailyRollingFileAppenderをDAILYとして定義 -- appender name="DAILY" class="org.apache.log4j.DailyRollingFileAppender" !-- ログのファイル名 -- param name="file" value="daily-log" / !-- 優先順位閾値 カテゴリでdebugを指定していても、info以上のみログ出力する -- param name="threshold" value="INFO" / !-- 日付が変わる瞬間daily-log-2002-06-23のような形式で 現在のログがリネーム -- !-- すでにログが存在する場合、ファイルにログを追加 -- param name="append" value="true" / !-- ログの出力形式を指定 -- layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value=" %c , %p , %d , %m %n" / /layout /appender !-- カテゴリosbook.log2に対してコンソールにinfo以上のログを出力 -- category name="osbook.log2" priority value="info" / appender-ref ref="STDOUT" / /category !-- カテゴリossbook.log2.MyClass2に対してDAILYアペンダにdebug以上のログを出力 -- category name="osbook.log2.MyClass2" priority value="debug" / appender-ref ref="DAILY" / /category !-- デフォルトのログ設定 -- root appender-ref ref="STDOUT" / appender-ref ref="DAILY" / /root /log4j configuration 設定ファイルの読み込み 1.3より前 ファイルの基点は、クラスパス URL url = Loader.getResource("resource/log4j.xml"); DOMConfigurator.configure(url); 優先度 No. 優先度 説明 1 fatal システムがこれ以上動作できない致命的なエラーが発生した場合 2 error 予期せぬ動作などにより、正しく処理できない場合 3 warn なんらかの問題が発生したが、動作には影響がない場合 4 info 設定ファイルを読み込んだときの設定情報、システム開始/停止時の状態出力など 5 debug デバッグ情報。例えば、外部モジュールから呼ばれるメソッドの入出力情報など 6 trace 詳細なデバッグ情報。モジュール内部の情報、ループの繰り返しで大量に出力される情報など レイアウト 変数 説明 %c カテゴリ名。%c{n}で表示するカテゴリ階層を指定する。例えば、a.b.cというカテゴリに対して、%c{2}はb.cを出力する %d 日付。HHを時間、mmを分、ssを秒、SSSをミリ秒としたとき、%d{HH mm ss,SSS}, %d{dd MMM yyyy HH mm ss,SSS}という形式で指定できる。また%d{ISO8601},%d{ABSOLUTE}という形式でも指定可能 %L 行番号 %m メッセージ %M メソッド名 %n 改行。ログメッセージの最後に挿入 %p 優先度(fatal/error/warn/info/debug) %r アプリケーションの実行開始からの経過時間 %t スレッド名。マルチスレッドのプログラムの場合、利用を勧める
https://w.atwiki.jp/yasrun/pages/46.html
Log4J 例外発生時、スタックトレースもログに出させる try { ... } catch(Exception e) { logger.error(e); } とやってもスタックトレースは出ない。 logger.error(e.getMessage(), e); というように第一引数がString,第二引数がThrowableになっているやつを利用すれば出る。 DailyRollingFileAppenderのログ消失の件 DailyRollingFileAppenderで、日付ファイルに更新するときに失敗してログが消失する罠は、 最新版(2010年4月リリース)の1.2.16で修正された。らしい。 log4j.xml サンプル ?xml version="1.0" encoding="UTF-8" ? !DOCTYPE log4j configuration SYSTEM "log4j.dtd" log4j configuration xmlns log4j= http //jakarta.apache.org/log4j/ !-- *** Appender *** -- !-- コンソール -- appender name="STDOUT" class="org.apache.log4j.ConsoleAppender" param name="threshold" value="DEBUG"/ layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value="%d %-5p [%t] (%F %L) - %m%n"/ /layout /appender !-- ファイル(ファイル名日替わり) -- appender name="DAILY" class="org.apache.log4j.DailyRollingFileAppender" param name="file" value="C \\temp\daily.log" / param name="threshold" value="DEBUG"/ param name="append" value="true" / layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value="%d %-5p (%F %L) - %m%n"/ /layout /appender !-- *** Category *** -- category name="test.test.test" appender-ref ref="DAILY" / /category root appender-ref ref="STDOUT" / /root /log4j configuration .
https://w.atwiki.jp/tamotech/pages/50.html
Log4J Log4Jとは Jakartaプロジェクトで開発が進められているJavaプログラム用のログAPIである。 ログの出力先を様々に設定できる。 ファイル、OutputStream、java.io.Writer、リモートLog4Jサーバ、リモートUnix Syslogデーモン、NTイベントログなど Log4Jには以下の3つの主要コンポーネントがある。 Logger - ロギングを行う部分をグループ化し必要なグループのログだけを出力することを可能にする。カテゴリーに優先順位を付けることにより様々な出力方法を指定できる。 Appender - ログの出力先を指定する。 Layout - ログの出力フォーマットを指定する。 Log4Jは以下のログレベルを標準提供している(レベルが高い順)。利用者が任意のログレベルを追加することも可能。 FATAL - 致命的なエラー。プログラムの異常終了を伴うようなもの。 ERROR - 予期しないその他の実行エラー。 WARN - 警告。廃要素のAPIの使用やAPIの不適切な使用、エラーに近い事象など。 INFO - 情報。実行時の何らかの注目すべき事象(開始や終了など)。 DEBUG - デバッグ用の情報。システムの動作状況に関する詳細な情報。 TRACE - デバッグ情報よりも更に詳細な情報。 使うときのざっくりした流れは以下な感じ。 1.Loggerを作成する 2.Appenderを作成してLoggerにぶら下げる 3.Layoutを作成して、Appenderにぶら下げる 4.ログ出力をする。 上記手順の1~3(2~3?)は設定ファイル(log4j.properties)で外部ファイル化できる。 サンプルコード 上記までに学んだ内容でログ出力を行うサンプルコードを書いた。 Log4jSample.java package sandbox.log4j.sample1; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Log4jSample { public static void main(String[] args) { Log4jSample mainApp = new Log4jSample(); mainApp.execute(); } public void execute() { // Loggerインスタンスの生成. Logger logger = Logger.getLogger(Log4jSample.class); // log4j.propertiesを読み込む PropertyConfigurator.configure("bin/sandbox/log4j/sample1/log4j.properties"); // 各レベルでログを出力 logger.trace("TRACEログ"); logger.debug("DEBUGログ"); logger.info("INFOログ"); logger.warn("WARNログ"); logger.error("ERRORログ"); logger.fatal("FATALログ"); } } log4j.propertes # Appenderの定義. log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %5p %c{1} - %m%n log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=C \\Log4JTest\\Log4jSample.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %5p %c{1} - %m%n # ルートカテゴリーの定義. log4j.rootCategory=INFO,stdout,file 実行するとコンソールには以下のとおりログが出力される。 2011-09-22 12 07 28,144 INFO Log4jSample - INFOログ 2011-09-22 12 07 28,144 WARN Log4jSample - WARNログ 2011-09-22 12 07 28,144 ERROR Log4jSample - ERRORログ 2011-09-22 12 07 28,144 FATAL Log4jSample - FATALログ また、C \\Log4JTest\\Log4jSample.logのファイルに上記と同じ内容のログが出力される。 サンプルコードを書いて rootCategory?rootLogger?という感じ。カテゴリ、ロガー、階層、log4j.propertiesの書き方などがまだよくわからん。 以下のように明示的にlog4j.propertiesの読み込みを記述しないと上手くいかなかった。(Webアプリケーションの場合クラスパスが通った場所にlog4j.propertiesを書いておけばこのようなコードは不要だったような気がしたが・・・) // log4j.propertiesを読み込む PropertyConfigurator.configure("bin/sandbox/log4j/sample1/log4j.properties"); 参考サイト TECHSCORE - Log4J Log4Jをいじる
https://w.atwiki.jp/tamorintech/pages/15.html
log4jで実装してみた。(2012/2/4 旧wikiから移行)参考サイト log4jとは(2012/2/4 旧wikiから移行) log4jで実装してみた。(2012/2/4 旧wikiから移行) 今までに学んだ内容でログ出力を行うサンプルコードを書いた。 Log4jSample.java package sandbox.log4j.sample1; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Log4jSample { public static void main(String[] args) { Log4jSample mainApp = new Log4jSample(); mainApp.execute(); } public void execute() { // Loggerインスタンスの生成. Logger logger = Logger.getLogger(Log4jSample.class); // log4j.propertiesを読み込む PropertyConfigurator.configure("bin/sandbox/log4j/sample1/log4j.properties"); // 各レベルでログを出力 logger.trace("TRACEログ"); logger.debug("DEBUGログ"); logger.info("INFOログ"); logger.warn("WARNログ"); logger.error("ERRORログ"); logger.fatal("FATALログ"); } } log4j.propertes # Appenderの定義. log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d %5p %c{1} - %m%n log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=C \\Log4JTest\\Log4jSample.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d %5p %c{1} - %m%n # ルートカテゴリーの定義. log4j.rootCategory=INFO,stdout,file 実行するとコンソールには以下のとおりログが出力される。 2011-09-22 12 07 28,144 INFO Log4jSample - INFOログ 2011-09-22 12 07 28,144 WARN Log4jSample - WARNログ 2011-09-22 12 07 28,144 ERROR Log4jSample - ERRORログ 2011-09-22 12 07 28,144 FATAL Log4jSample - FATALログ また、C \\Log4JTest\\Log4jSample.logのファイルに上記と同じ内容のログが出力される。 サンプルコードを書いて rootCategory?rootLogger?という感じ。カテゴリ、ロガー、階層、log4j.propertiesの書き方などがまだよくわからん。 以下のように明示的にlog4j.propertiesの読み込みを記述しないと上手くいかなかった。(Webアプリケーションの場合クラスパスが通った場所にlog4j.propertiesを書いておけばこのようなコードは不要だったような気がしたが・・・) // log4j.propertiesを読み込む PropertyConfigurator.configure("bin/sandbox/log4j/sample1/log4j.properties"); 参考サイト TECHSCORE - Log4J Log4Jをいじる log4jとは(2012/2/4 旧wikiから移行) Jakartaプロジェクトで開発が進められているJavaプログラム用のログAPIである。 ログの出力先を様々に設定できる。ファイル、OutputStream、java.io.Writer、リモートlog4jサーバ、リモートUnix Syslogデーモン、NTイベントログなど log4jには以下の3つの主要コンポーネントがある。Logger - ロギングを行う部分をグループ化し必要なグループのログだけを出力することを可能にする。カテゴリーに優先順位を付けることにより様々な出力方法を指定できる。 Appender - ログの出力先を指定する。 Layout - ログの出力フォーマットを指定する。 log4Jは以下のログレベルを標準提供している(レベルが高い順)。利用者が任意のログレベルを追加することも可能。FATAL - 致命的なエラー。プログラムの異常終了を伴うようなもの。 ERROR - 予期しないその他の実行エラー。 WARN - 警告。廃要素のAPIの使用やAPIの不適切な使用、エラーに近い事象など。 INFO - 情報。実行時の何らかの注目すべき事象(開始や終了など)。 DEBUG - デバッグ用の情報。システムの動作状況に関する詳細な情報。 TRACE - デバッグ情報よりも更に詳細な情報。 使うときのざっくりした流れは以下な感じ。1.Loggerを作成する 2.Appenderを作成してLoggerにぶら下げる 3.Layoutを作成して、Appenderにぶら下げる 4.ログ出力をする。 上記手順の1~3(2~3?)は設定ファイル(log4j.properties)で外部ファイル化できる。
https://w.atwiki.jp/ack_sora/pages/17.html
log4j.propertiesの例・・・ log4j.rootLogger=DEBUG, Console, File log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appender.Console.Target=System.out log4j.appender.Console.ImmediateFlush=true log4j.appender.Console.layout=org.apache.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%m%n log4j.appender.File=org.apache.log4j.RollingFileAppender log4j.appender.File.File=sample.log log4j.appender.File.MaxFileSize=10MB log4j.appender.File.MaxBackupIndex=10 log4j.appender.File.Append=true log4j.appender.File.layout=org.apache.log4j.PatternLayout log4j.appender.File.layout.ConversionPattern=%-5p %d [%t]%C(%L) %m%n ※ログレベル DEBUG :DEBUG~FATALは、それ以下のレベルの内容が出力される。 INFO WARN ERROR FATAL OFF:出力されない
https://w.atwiki.jp/ebi_xyz/pages/42.html
RESTfulプログラムのログ出力にcommons-logging+log4jを使ったのでメモ。 ■環境 Java 6 Eclipse 3.6 Tomcat 6 ■ライブラリについて 以下の2ファイルを使った。 commons-logging-1.1.1.jar log4j-1.2.16.jar それぞれ以下からダウンロード。展開したディレクトリ内から上記の2ファイルをlibディレクトリにコピーした。 commons-logging log4j Eclipseにて、ビルドパスにjarファイルを追加。 ■サンプルソース package ebi.sample; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.apache.commons.logging.*; @Path("/hello") public class HelloWorld { public static Log log = LogFactory.getLog(HelloWorld.class); @GET @Path("/log") @Produces(MediaType.APPLICATION_XML) public String Log() { String xml = " result code 0 /code /result "; log.fatal("fatalメッセージ"); log.error("errorメッセージ"); log.warn("warnメッセージ"); log.info("infoメッセージ"); log.debug("debugメッセージ"); log.trace("traceメッセージ"); return xml; } } このサンプルを試す場合は、別途jax-rsの環境構築が必要。 ■設定ファイル WEB-INF/classにlog4j.xmlを作成。 以下は標準出力をINFO、ファイル出力をDEBUGに設定。 ログの出力先は「Tomcatインストールディレクトリ\logs\daily-log」に設定。 ?xml version="1.0" encoding="UTF-8" ? !DOCTYPE log4j configuration SYSTEM "log4j.dtd" log4j configuration xmlns log4j= http //jakarta.apache.org/log4j/ !-- コンソールにログを出力するConsoleAppenderをSTDOUTとして定義 -- appender name="STDOUT" class="org.apache.log4j.ConsoleAppender" !-- デフォルトのログレベル -- param name="threshold" value="info"/ !-- ログの出力形式を指定 -- layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value="%d %-5p [%t] (%F %L) - %m%n"/ /layout /appender !--決められた期間でログを別ファイルに切り替えて書き込む DailyRollingFileAppenderをDAILYとして定義 -- appender name="DAILY" class="org.apache.log4j.DailyRollingFileAppender" !-- ログのファイル名 -- param name="file" value="logs/daily-log" / !-- デフォルトのログレベル -- param name="threshold" value="debug"/ !-- 日付が変わる瞬間daily-log-2002-06-23のような形式で現在のログがリネーム -- !-- すでにログが存在する場合、ファイルにログを追加 -- param name="append" value="true" / !-- ログの出力形式を指定 -- layout class="org.apache.log4j.PatternLayout" param name="ConversionPattern" value=" %c , %p , %d , %m %n" / /layout /appender !-- ログの設定 -- category name="ebi.sample.HelloWorld" appender-ref ref="STDOUT" / appender-ref ref="DAILY" / /category /log4j configuration 設定ファイルはappend,layout, categoryの3要素を設定。 他にroot要素が存在するが必要が無い場合は使わないようにする。 ■参考にしたサイト @IT:現場に活かすJakarta Project 第9回 Jakarta log4j.xml に設定するログレベルの整理 - @//メモ Javaの道:Log4J(2.基本操作) 2011-05-07