はじめに
仕事で log4j を利用しているので, Eclipse での使い方を少し調べてみた.
環境
- log4j 2.3
 - Eclipse 4.4
 - Java 1.7
 
log4j とは
Java で, ログを残すための便利で有名なライブラリ.
- 
Log4j 2 Guide - Apache Log4j 2
log4j は バージョンが 1.x と 2.x がある. 新しい 2.x を試す.
 
install
以下から最新版をダウンロード.
設定
適当なところに解凍後, クラスパスを通す.
Eclipse だと,
- ツールバー > ウィンドウ > 設定
 - Java > ビルド・パス > ユーザライブラリ
 - 新規 -> Log4j と入力
 - 外部 Jar 追加 を選択
- 以下を登録
- log4j-core-2.x.jar
 - log4j-api-2.x.jar
 - log4j-1.x-api-2.x.jar
 
 
 - 以下を登録
 
続いて, プロジェクトを右クリックして,
- プロバティ > Java ビルド・パス > ライブラリータブ
 - ライブラリー追加 > ユーザライブラリ > 次へ
 - 上で作成した Log4j を追加.
 
Hello log4j
標準出力に log を出すことを目指す.
log4j2.xml を作成.
以下を参考に logger.xml を作成して, src 配下に配置.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>
<Root level=“xxxx”>を調整することで, ログレベルを調整できる.
ログレベル
Wikipedia から引用. 以下のようにログのレベルがある.
Fatal 致命的なエラー. プログラムの異常終了 ERROR エラー. 予期しないその他の実行時エラー WARN 警告. INFO 情報. 実行時の何らかの注目すべき事象 DEBUG デバッグ用の情報 Trace トレース情報. DEBUG よりも詳細な情報
コードを作成
サンプルコード作成.
package sample;
import org.apache.log4j.Logger;
public class LoggerSample {
        public static void main (String[] args) {
        Logger logger = Logger.getLogger (LoggerSample.class.getName ());
        logger.trace ("Hello trace");
        logger.debug ("Hello debug");
        logger.info ("Hello info");
        logger.warn ("Hello warning");
        logger.error ("Hello error");
        logger.fatal ("Hello fatal");
    }
出力結果
23:57:03.111 [main] TRACE sample.LoggerSample - Hello trace
23:57:03.112 [main] DEBUG sample.LoggerSample - Hello debug
23:57:03.112 [main] INFO  sample.LoggerSample - Hello info
23:57:03.112 [main] WARN  sample.LoggerSample - Hello warning
23:57:03.112 [main] ERROR sample.LoggerSample - Hello error
23:57:03.112 [main] FATAL sample.LoggerSample - Hello fatal
Eclipse Plugin
Eclipse で log4j のログを表示させるプラグインはいくつかあるみたい.
JLV
JLV を試す. ためそうと思ったらこれは, log4j 1.x 用だったので, 1.x を入れる.
以下にしたがって設定.
カラフルに色が表示される. 検索機能も便利.
Emacs Lisp
こんなのみつけた.
text におとした log をみるモード. 自動で更新されるのもよい.
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="https://jakarta.apache.org/log4j/" >
  <appender name="file" class="org.apache.log4j.FileAppender">
     <param name="File" value="./sample.log" />
     <param name="Append" value="true" />
     <param name="Encoding" value="Shift_JIS" />
     <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%m%n" />
     </layout>
  </appender>
  <root>
    <appender-ref ref="file"/>
  </root>
</log4j:configuration>
helm-swoop とかとくみあわせると, 抜群の検索効果.
JTags と組み合わせると, なんと Log からソースへジャンプできる.
- jtags - Emacs package for editing Java | SourceForge.net
 - jtags - Emacs minor mode for editing and browsing Java source code