目次へ

3. APPENDER

1章でも説明しましたように、Log4J ではログの出力先を様々な方法で指定することができます。出力先を指定するには APPENDER を使用します。1章で ConsoleAppender クラスを使用した簡単な例を示しましたが、以降それぞれの Appender について詳しく説明します。

出力先を指定する際に使用するのは、全て org.apache.log4j.Appender インタフェースを実装したクラスを使用します。

3.1. org.apache.log4j.Appender インタフェース

出力先を指定する際に使用するクラスは、全て org.apache.log4j.Appender インタフェースを実装しています。Loggerオブジェクトに出力先を指定する際には、出力先を全て Appender オブジェクトとして設定します。

3.2. org.apache.log4j.WriterAppender クラス

WriterAppender クラスは、ログを java.io.Writer オブジェクトまたは java.io.OutputStream オブジェクトに出力する際に使用します。

WriterAppender オブジェクトは次のコンストラクタを用いて生成します。

 1: WriterAppender()
 2: WriterAppender(Layout layout,Writer writer)
 3: WriterAppender(Layout layout,OutputStream os)

引き数にはログの出力フォーマットと出力先を指定します。いずれのコンストラクタも出力フォーマットに、org.apache.log4j.Layout オブジェクトを指定します。引き数をとらないコンストラクタでオブジェクトを生成した場合は、setLayout( ) メソッドや setWriter( ) メソッドで指定することができます。

ログの出力先には、java.io.Writer オブジェクトまたは java.io.OutputStream オブジェクトを指定することができます。次のプログラムではログをファイルに出力するものです。

  import org.apache.log4j.*;
  import java.io.*;
 
  (略)
 
  //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){}

 (略)

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp