トヨの技術ブログ

ITエンジニアの勉強ノート兼ブログです。

【Java】slf4jでログ出力する方法

今回は、Javaでログを簡単に出力することができる「slf4j」を使ってみたいと思います。

前回は、「log4j2」でログ出力する方法を書きました。

blog.toyo999.com

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です。");
    }
}

実行結果

きちんとログの区分け毎に出力されています。

slf4jでのログ出力結果

設定ファイル(log4j2.xmlなど)はなくても動く

前回の記事で紹介したlog4j2」のように、「log4j2.xml」などの設定ファイルを置かなくても動きます。