LoginSignup
7
3

More than 3 years have passed since last update.

Androidのログ出力ライブラリ”Timber”

Posted at

どうも”おもり”です。

今年はOSS活動に精を出していこうと考えています。
Android開発のOSS活動。力不足の自分でもやっていけそうなissueを探している中、
以下のようなissueを見つけた。

image.png

https://github.com/uhooi/UhooiPicBook-Androidより

"good first issue"のタグが付いているので、いざやってみようと思ったのですが、
Timberとは何ぞや状態だったので、色々ネットを調べあさりました。
調べた情報をまとめて、Timberの良いところをサクッと学べるような記事を書きます。

Timberとは?

Timberとは、Androidのログ出力ライブラリです。

Androidのログ出力機能といえば、Androidのログ標準ライブラリ(Log)があります。

Log.v("MainActivity", "verbose")
Log.d("MainActivity", "debug")
Log.i("MainActivity", "info")
Log.w("MainActivity", "warn")
Log.e("MainActivity", "error")

※各ロギングの意味合い
Log.v:VERVOSE(すべてのログ情報)
Log.d:DEBUG(デバッグ情報)
Log.i:INFO(情報)
Log.w:WARN(警告)
Log.e:ERROR(致命的な問題)

しかし、ログ標準ライブラリを使うと問題があります。

  • リリースビルドなのにでバックログが出力される
  • デバックビルドなのにCrashlyticsに出力される

特に、リリースビルドでもでバックログが出力されることが大きな問題です。

Timberを使って嬉しいこと

  • デバックとリリースでログ出力を切り替えることができる。
    image.png
    ※リリースの場合は、自分でロギングクラスを作成する必要がある。

  • Logクラスの薄いラッパークラスなので導入が簡単

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

    Timber.plant(new DebugTree());
  }
}
簡単に導入できる。TreeをPlantして、初期化をする。
  • 書きやすい
Timber.tag("hoge").i("piyo=%s", "fuga");

Logライブラリの使い方と使用方法がそこまで違わないので、使うのが簡単。

  • リリース後のクラッシュログの収集ができる。

Crashlytics等を使ってリリース後のクラッシュログを収集することができるらしい。
自分のアプリを作る時に試してみよう。

参考資料

Androidのログ出力をいい感じにする
AndroidのTimber(ログ系)とFabric/Crashlytics(クラッシュレポート)を使ってみた。
[Android] Timber で debug ビルド時のみにログを出力する
(Android)ログ出力ライブラリ"Timber"を使ってみる
Logcatのソースへ飛ぶ機能をTimberに盛り込んでみた。
TimberをLogの代わりに使用して快適ログ確認

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3