今回は、Javaでログを簡単に出力することができる「slf4j」を使ってみたいと思います。
前回は、「log4j2」でログ出力する方法を書きました。
log4j2よりも、slf4jの方がよりメジャーに使われていると思います。
SLF4Jとは
SLF4Jは、「Simple Logging Facade For Java」の略です。
「Facade(ファサード)」とは、本質の実装を隠して、ユーザーにわかりやすいようにインターフェースを提供するというような意味合いです。
SJF4Jは、先日紹介したlog4jや、logbackなどのJavaのログ系ライブラリへの簡易インターフェースを提供するものです。
とりあえず、ログを出力する方法
今回は、とりあえず最低限のログを出力する方法を解説します。
大まかには、slf4jもlog4jも変わりません。
まずはライブラリをダウンロード
MavenやSBTなどから、slf4jAPIと、slf4jSimpleの2つを落としてクラスパスに配置して下さい。
次にインポート
import org.slf4j.Logger; import org.slf4j.LoggerFactory;
Loggerの呼び出し
// ロガーを呼び出します Logger logger = LoggerFactory.getLogger("testLogger");
ログの出力
// INFOを出力します logger.info("INFOです"); //WARNを出力します logger.warn("WARNです"); // ERRORを出力します logger.error("ERRORです。");
サンプルコード
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Logtest2 { public static void main(String[] args){ // ロガーを呼び出します Logger logger = LoggerFactory.getLogger("testLogger"); // INFOを出力します logger.info("INFOです"); //WARNを出力します logger.warn("WARNです"); // ERRORを出力します logger.error("ERRORです。"); } }
実行結果
きちんとログの区分け毎に出力されています。
設定ファイル(log4j2.xmlなど)はなくても動く
「前回の記事で紹介したlog4j2」のように、「log4j2.xml」などの設定ファイルを置かなくても動きます。