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 と同様に補完を効かせる方法について書いた。