Q1:ファイルにログを出力するためには?

appender要素を定義し、その class 属性の値を org.apache.log4j.FileAppender, org.apache.log4j.RollingFileAppender, org.apache.log4j.DailyRollingFileAppender 等にします。

ただ、FileAppenderは単純にログをファイルに出力する機能しかもっておらず、ログファイルのローテーションのような機能はありません。そのため、ほとんどの場合ファイルサイズでローテーションする RollingFileAppender か、日付でローテーションする DailyRollingFileAppender を使うことになるでしょう。

こうして定義したアペンダを root要素 や logger 要素から append-ref 要素で参照します。

<?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.RollingFileAppender">
    <param name="File"   value="log/example.log" />
    <param name="Append" value="true" />                
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/>
    </layout>       
  </appender>

  <root>
    <level value ="debug" />
    <appender-ref ref="FILE" />
  </root>

</log4j:configuration>

トップページへ戻る