(O+P)ut

ITエンジニアのアウトプット録



(O+P)ut

OutPut Log by SE

【入門】log4Jのインストールから動作確認まで

f:id:mtiit:20181005085944j:plain
Javaでコードを書く際、何か値を出力する際はSystem.out.printを用いてをコンソールで確認するケースが多々あると思います。

今回は、それに代わるツールとしてLog4Jの入門記事を書きました。

Log4Jの概要

そもそもLog4jとは、Javaのロギングユーティリティです。

ログの細かい制御が可能ではありますが、やはり導入に伴う設定等でためらってしまう方も多いと思います。

本記事にてLog4Jに慣れていくためのHowToを記載してみましたのでご参考ください。

実際に使用

まずはLog4Jにはログを出力するか否かのレベルがあります。ざっと並べると、

    • FATAL
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • TRACE

とあって上から順に出力する出力する優先度が高いです。

動作テストとかをする際は広範囲なログを出力し、バグが減ってきて運用フェーズになると重大なメッセージのみを出力するといった柔軟な制御が可能です。

今回は、Eclipseで利用するケースを紹介します。

まずは、Log4Jを試すためにファイルをプロジェクトの中に作成し、

import org.apache.log4j.*;

とインポートを試みてください。

おそらくエラーが出ます。
log4jをインストールしてないからですね。

例えば自環境では、
The Jakarta Site - Jakarta Downloads
上記リンク先のarchivesの中にlog4jというフォルダがあるのでjakarta-log4j-1.2.8.tar.gzをインストールしました。
バージョンはその都度で違ってるかもしれないですが、ファイルをダウンロードするとそのフォルダの中の下図の位置にlog4jの実体jarファイルが確認できます。
f:id:mtiit:20150208115713p:plain

こちらのファイルにパスを通します。
プロジェクトを左クリック→プロパティJava Build PathAdd External JAR...で先ほどのjarファイルを追加します。

import org.apache.log4j.*;

エラーは消えているはずです。

動作確認用のサンプルコードです。例として活用ください。

import org.apache.log4j.*;
public class Test {
	public static void main(String args[]){
		Logger logger = Logger.getLogger("Sample");
		BasicConfigurator.configure();
		logger.setLevel(Level.DEBUG);
		logger.debug("debug test");
		logger.info("info test");
	}
}

こちらを実行すれば、コンソールへの出力は

0 [main] DEBUG Sample  - debug test
1 [main] INFO Sample  - info test

となるはずです。

ここでのポイントは、
logger.setLevelのLevel.DEBUGをLevel.INFOに変更すればdebugは出力されません。
こちらの変数で、ログレベルの設定を変更可能です。

System.out.println()からの乗り換え第一歩としては、今まで記載していたprint文を全てINFOで出力する というのがよいかもしれません。
なれてくれば、細かな制御を入れたり出力先をログファイルにしてみたり、というステップですかね。

以上、log4jの入門記事でした。