投資とプログラミングな日々

投資が趣味なITエンジニアの雑記ブログです。

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

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

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

www.toyo104-memo.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です。");
    }
}

実行結果

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

f:id:toyo--104:20181222011413p:plain

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

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