「log4j」ConsoleAppender FileAppender DailyRollingFileAppender 使ってみた
log4j の ConsoleAppender FileAppender DailyRollingFileAppender 辺りのアペンダーを使ってみたので、その時のメモ。
[ 環境情報 ]
Windwos 7 SP1
Java SE 7
Apache log4j 1.2.17
<?xml version="1.0" encoding="UTF-8"?> <log4j:configuration debug="true" xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="n1" class="org.apache.log4j.ConsoleAppender"> <param name="Target" value="System.err"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%m%n"/> </layout> </appender> <appender name="n2" class="org.apache.log4j.FileAppender"> <param name="File" value="file.log" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d : %m%n"/> </layout> </appender> <appender name="n3" class="org.apache.log4j.DailyRollingFileAppender"> <param name="File" value="dailyrollingfile.log" /> <param name="DatePattern" value="'.'yyyy-MM-dd-HH-mm" /> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d : %m%n"/> </layout> </appender> <logger name="appender.console.ConsoleSample"> <appender-ref ref="n1"/> </logger> <logger name="appender.file.FileSample"> <appender-ref ref="n2"/> </logger> <logger name="appender.dailyrollingfile.DailyrollingfileSample"> <appender-ref ref="n3"/> </logger> </log4j:configuration>
※ PatternLayout は出力日時とメッセージを出力するように設定
※ DailyRollingFileAppender は分単位でローテートするように設定
2. アペンダーを使用するクラスを作成する
■ ConsoleSample.java
package appender.console; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; public class ConsoleSample { public static void main(String[] args) { Logger logger = Logger.getLogger(ConsoleSample.class); DOMConfigurator.configure("log4j.xml"); logger.info("ConsoleSample INFO"); } }
■ FileSample.java
package appender.file; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; public class FileSample { public static void main(String[] args) { Logger logger = Logger.getLogger(FileSample.class); DOMConfigurator.configure("log4j.xml"); logger.info("FileSample INFO"); } }
■ DailyrollingfileSample.java
package appender.dailyrollingfile; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; public class DailyrollingfileSample { public static void main(String[] args) { Logger logger = Logger.getLogger(DailyrollingfileSample.class); DOMConfigurator.configure("log4j.xml"); logger.info("DailyrollingfileSample INFO"); } }
あとは、それぞれのクラスを実行する、それに応じた結果が得られるはずです。
ドキュメントは以下あたりになります。
・DOMConfigurator (Apache Log4j 1.2.17 API)
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/DOMConfigurator.html
・ConsoleAppender (Apache Log4j 1.2.17 API)
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/ConsoleAppender.html
・FileAppender (Apache Log4j 1.2.17 API)
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/FileAppender.html
・DailyRollingFileAppender (Apache Log4j 1.2.17 API)
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/DailyRollingFileAppender.html
・PatternLayout (Apache Log4j 1.2.17 API)
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
xml での書き方については、以下にちょろっと情報がある。
・Migrating from Log4j 1.x - Apache Log4j 2
http://logging.apache.org/log4j/2.x/manual/migration.html
以上です。