目次へ

3.3. org.apache.log4j.ConsoleAppender クラス

ConsoleAppender クラスは前節の WriterAppender クラスを拡張したクラスです。標準出力である System.out 及び標準エラー出力である System.err にログを出力するために使用します。デフォルトの出力ターゲットは System.out です。

ConsoleAppender オブジェクトを生成するには、次のコンストラクタを使用します。

 1: ConsoleAppender()
 2: ConsoleAppender(Layout layout)
 3: ConsoleAppender(Layout layout,String target)

引き数に org.apache.log4j.Layout オブジェクトを指定することができます。あとでセットする場合は、setLayout( ) メソッドを使用します。3つ目のコンストラクタの引き数で指定している「target」は出力先を指定するもので、標準出力か標準エラー出力かを指定します。標準出力を指定するときは ConsoleAppender.SYTEM_OUT を、標準エラー出力を指定する場合は、ConsoleAppelnder.SYSTEM_ERR を使用します。1 つ目または 2 つ目のコンストラクタで ConsoleAppender オブジェクトを生成した場合は、setTarget( ) メソッドを使用して出力先を指定することが可能です。

以下の例では、Layout に org.apache.log4j.PatternLayout を使用して、ConsoleAppender オブジェクトを生成しています。

  import org.apache.log4j.Appender;
  import org.apache.log4j.ConsoleAppender;
  import org.apache.log4j.PatternLayout;
 
  (略)
 
  //org.apache.log4j.PatternLayoutの生成
  PatternLayout layout = new PatternLayout();
  
 //引き数にLayoutのみをとるコンストラクタを使用
 Appender appender1 =
         new ConsoleAppender(layout);

 //出力先に標準出力を指定
 appender1.setTarget(ConsoleAppender.SYSTEM_OUT);

 //出力先に標準エラー出力を指定するAppenderオブジェクトを使用
 Appender appender2 =
         new ConsoleAppender(layout,ConsoleAppender.SYSTEM_ERR);

 (略) 

設定ファイルに記述するときは次のように記述します。

 1: # sampleLogger
 2: log4j.logger.sampleLogger= WARN,A1
 3:
 4: # APPENDER A1
 5: log4j.appender.A1 = org.apache.log4j.ConsoleAppender
 6: log4j.appender.A1.Target = System.out # 標準エラー出力の場合は、System.err
 7: log4j.appender.A1.layout = org.apache.log4j.PatternLayout
 8: log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

3.4. org.apache.log4j.FileAppender クラス

FileAppender クラスは ConsoleAppender クラスと同様、WriterAppender クラスを拡張したものです。ファイルにログを追加します。

まず FileAppender クラスについてですが、このクラスのオブジェクトは次のコンストラクタで生成します。

 1: FileAppender()
 2: FileAppender(Layout layout,String filename)
 3: FileAppender(Layout layout,String filename,boolean append)

引き数に Layout オブジェクトとファイル名を指定することができます。後で指定する場合は、setLayout( ) メソッドを使用します。3つ目のコンストラクタの3つ目の引き数は、ログの出力先ファイルを追記モードでオープンするのか、上書きモードでオープンするのかを指定するものです。true の場合は、追記モード、false の場合は上書きモードです。1 行目のコンストラクタを使用すると、デフォルトとして true が設定されます。これは setAppender( ) を使用して後で変更することも可能です。

設定ファイルで出力先を指定するには次のように記述します。

 1: # sampleCategory
 2: log4j.logger.sampleLogger= WARN,A2
 3: 
 4: # APPENDER A2
 5: log4j.appender.A2 = org.apache.log4j.FileAppender
 6: log4j.appender.A2.Append=false      # 上書きモード
 7: log4j.appender.A2.File = sample.log # sample.logファイルに出力
 8: # log4j.appender.A2.File = System.out とすると標準出力に出力
 9: (略)

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp