2017年3月30日木曜日

orhanobut/loggerのリリースバージョンで表示するログレベルの設定方法

このエントリーをはてなブックマークに追加

概要

orhanobut/loggerは、Androidでログを表示するための便利なライブラリです。 ここでは、リリースバージョンでエラーログのみを表示するように、ログレベルを設定する方法について説明します。

設定方法

表示するログレベルの定義

LogAdapterを実装したクラスを用意します。BuildConfig.DEBUGは、リリースバージョンではfalseとなるため、ここではエラーレベルのログ以外のものはリリースバージョンでは表示しないようにします。

public class MyLogAdapter implements LogAdapter {
    @Override
    public void v(String tag, String message) {
        if (BuildConfig.DEBUG) {
            Log.v(tag, message);
        }
    }

    @Override
    public void d(String tag, String message) {
        if (BuildConfig.DEBUG) {
            Log.d(tag, message);
        }
    }

    @Override
    public void i(String tag, String message) {
        if (BuildConfig.DEBUG) {
            Log.i(tag, message);
        }
    }

    @Override
    public void w(String tag, String message) {
        if (BuildConfig.DEBUG) {
            Log.w(tag, message);
        }
    }

    @Override
    public void e(String tag, String message) {
        Log.e(tag, message);
    }

    @Override
    public void wtf(String tag, String message) {
        if (BuildConfig.DEBUG) {
            Log.wtf(tag, message);
        }
    }
}

Loggerの初期化

Application等において、Loggerを初期化し、MyLogAdapterを設定します。

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();

        Logger.init(getString(R.string.app_name)).logAdapter(new MyLogAdapter());
    }
}

使ってみる!

Logger.d("Displayed only debug build");

下記は、Loggerを使った際の出力例です。 デバッグバージョンのみ出力されます。

image1

サンプル

Logger@githubに動作するプロジェクトがあります。