2011年6月19日日曜日

JAVA Log4J 1.2.17 を使ってみた!5

今日は、ログファイルのローテーションの方法を書きます。

環境周りは、省略します。
環境を確認したい方は、
こちらこちら


注目するのは、4行目から10行目の内容
<appender ~>~</appender>
この内容がログファイルのローテーションの方法を設定している。

<appender name="File" class="org.apache.log4j.DailyRollingFileAppender">
nameには、appenderの名前を指定する。
(ファイルとコンソール出力の時と同じ)
classには、org.apache.log4j.DailyRollingFileAppenderを指定する。
このクラスがファイルに出力し、ローテーションするためのクラスとなる。

<param ~ />に設定可能な項目は、
DatePattern、File、Append、BufferedIO、BufferSize、Threshold、ImmediateFlush、Encoding
DatePattern以外は、FileAppenderで説明したので省略します。

DatePatternのvalueに設定する内容によって、ローテーションするタイミングが変わります。


ローテーションのタイミングについては、
'.'yyyy-MM         月が変わるごと
'.'yyyy-ww         週が変わるごと
'.'yyyy-MM-dd      日が変わるごと
'.'yyyy-MM-dd-a    午前と午後が変わるごと
'.'yyyy-MM-dd-HH   1時間ごと


他のparamについて詳しく知りたい方は、こちら

<layout ~></layout>
レイアウトについても、前回までに説明したので省略します。


<?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="C:/log4j.log" />
      <param name="DatePattern" value="'.'yyyy-MM-dd" />
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d %-5p %c - %-5m [%t] (%F:%L)%n"/>
      </layout>
   </appender>
   <appender name="Console" class="org.apache.log4j.ConsoleAppender">
      <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d %-5p %c - %-5m [%t] (%F:%L)%n"/>
      </layout>
   </appender>
   <root>
      <level value="debug" />
      <appender-ref ref="Console" />
      <appender-ref ref="File" />
   </root>
</log4j:configuration>


0 件のコメント:

コメントを投稿