log4j.xml簡単テンプレート

他人が作ったJavaのプログラムを動かそうとして、よくこんなメッセージが出ます。

log4j:WARN No appenders could be found for logger (jp.co.xxx.Xxx).
log4j:WARN Please initialize the log4j system properly.

そんなときは、何も考えずにlog4j.xmlのファイルをコピペで作りましょう。

log4j.xml

<?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.FileAppender">
    <param name="File" value="log.txt" />
      <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}] %-5p %C (%F:%L) [%M] - %m%n" />
      </layout>
  </appender>

  <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="[%d{yyyy/MM/dd HH:mm:ss}] %-5p %C (%F:%L) [%M] - %m%n"/>
    </layout>
  </appender>


  <category name="jp.co.xxx">
    <priority value="DEBUG" />
  </category>
  
  <root>
    <priority value ="INFO" />
    <appender-ref ref="STDOUT" />
    <appender-ref ref="FILE" />
  </root>

</log4j:configuration>

設定内容説明

  • 出力先はコンソールとファイルです。
  • 基本的にログレベルをINFOレベルで出力し、jp.co.xxx配下のパッケージについてはDEBUGで出力します。

こんな感じで出力されます。

[2007/10/21 17:38:20] DEBUG jp.co.xxx.Main001 (Main001.java:11) [main] - ログが出た!