2017-06-05 Android の Logger ライブラリ Timber をつかう
Android 向けの Logger である Timber を試した。
Square, Inc. の Jake Wharton さんがつくっている。 Android 関連でよく出てくる名前だなあ。有名な人なんだろうな。
2017-05-22 に出てきた square/picasso や square/retrofit も Square だった。
2017-05-20 に出てきた JakeWharton/butterknife もこの人だった。
さて。 Timber は Android の Log
クラスの上につくられているらしい。機能としては Tree
を差し替えることでログの出力方法を変えられることと String.format
を内蔵していること。
標準の DebugTree
だと TAG
を自動で設定してくれる。↓のような定型句が Android の Log
にはある。書けばいいのだけど、面倒だ。
private static final String TAG = MainActivity.class.getSimpleName();
// ...
Log.d(TAG, "foo");
Timber だと↓のように、それがなくなる。
Timber.d("foo");
String.format
に対応しているので、↓のような埋め込みもしやすい。
Timber.d("(%dms)", ms);
全体での On/Off は Application
クラスで Timber.plant()
するかで決まる。 plant
で好きな Tree
を設定するだけ。
public class MyApplication extends Application {
@Override public void onCreate() {
super.onCreate();
if (BuildConfig.DEBUG) {
Timber.plant(new DebugTree());
}
}
}
Tree
を継承したクラスも定義できる。↓のような記事もある。
ほかにも紹介記事。
追記: 2017-06-08 に補足で Android Studio で Live Templates を設定して Log
と同様に補完を効かせる方法について書いた。