log4j 1.2.14のAppender

感想おまちしてます!

Appenderによってなにかしらに出力できるようになる。

スポンサーリンク

thresholdパラメタ

閾値です。これはどのAppenderにでも追加できる。ログレベルのデフォルト値で、例えば、カテゴリでDEBUGとしてthresholdでINFOとする場合は、INFOが優先される。

ファイルはINFOでコンソールはDEBUGという風にできるようになる。

<param name="threshold" value="INFO"/>

ConsoleAppender

コンソール出力用Appender。

log4j.xmlサンプル

 <appender name="Console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss}[%p]%m%n"/>
</layout>
</appender>

FileAppender

ファイル出力用Appender。

log4j.xmlサンプル

<appender name="FOR_DEBUG" class="org.apache.log4j.FileAppender">
<param name="File" value="C:/temp/debug.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss}[%p]%m%n"/>
</layout>
</appender>

RollingFileAppender

ファイルサイズが指定サイズを超えたらローテートするAppenader。

log4j.xmlサンプル

<appender name="FOR_DEBUG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="C:/temp/debug.html" />
<param name="Append" value="true" />
<param name="MaxFileSize" value="1MB"/><!--100KBなどもOK-->
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss}[%p]%m%n"/>
</layout>
</appender>

DailyRollingFileAppender

日付ごとにローテートするAppender。

log4j.xmlサンプル

<appender name="DAILY" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="c:/temp/debug.log" />
<param value="'.'yyyy-MM-dd" name="DatePattern"/>
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss}[%p]%m%n"/>
</layout>
</appender>

Windowsではローテートに失敗するらしい

日付ローリングがうまくいかないらしい。やばいね。

http://d.hatena.ne.jp/t_yano/20060919
http://codezine.jp/a/article.aspx?aid=524

日付ローテート&サイズ分割

RollingFileAppenderDailyRollingFileAppenderを合体させたもの。Log4j1.3ではあるらしいけど以前のバージョンではない。


http://www.okisoft.co.jp/esc/log4j/product/CompositeRollingFileAppender.html

自分で作る場合は、「http://codezine.jp/a/article.aspx?aid=524

log4j.xmlサンプル

<appender name="FILE" class="org.apache.log4j.CompositeRollingFileAppender">
<param name="File" value="c:/temp/debug.log" />
<param name="MaxFileSize" value="50KB" />
<param name="MaxBackupIndex" value="5" />
<param name="datePattern" value="'.'yyyy-MM-dd-HH-mm" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy/MM/dd HH:mm:ss}[%p]%m%n"/>
</layout>
</appender>

リンク

http://www.okisoft.co.jp/esc/log4j/other/sample.html