LoginSignup
11
7

More than 3 years have passed since last update.

ロガーライブラリ「Timber」のセットアップ&操作方法(Kotlin)

Last updated at Posted at 2021-03-02

はじめに

Androidアプリ開発で使えるロガーライブラリを教えてもらったので、導入することにしました。

「Timber」とは?

Android向けのロガーライブラリです。

環境

  • OS:macOS Big Sur 11.1
  • Android Studio:4.1.2
  • Kotlin:1.4.20
  • Gradle:6.8
  • Gradle plugin:4.1.2
  • Timber:4.7.1

セットアップ

Timberのインストール

appフォルダ配下の「build.gradle」に依存関係を追加します。

/app/build.gradle
dependencies {
+     implementation 'com.jakewharton.timber:timber:4.7.1'
}

アプリケーションクラスでの初期化

アプリケーションクラスの onCreate()Tree インスタンスをインストールします。

+ import timber.log.Timber

class UhooiPicBookApp : Application() {

    override fun onCreate() {
        super.onCreate()

+         configureTimber()
    }

+     private fun configureTimber() {
+         if (BuildConfig.DEBUG) {
+             Timber.plant(Timber.DebugTree())
+         }
+     }
}

私はデバッグ時のみTimberを使うようにしています。

これでTimberのセットアップは完了です。

使い方

Timberの各メソッドを呼び出すことで、Logcatにログを出力します。

MainActivity.kt
import timber.log.Timber

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)

        Timber.v("Verbose")
        Timber.d("Debug")
        Timber.i("Info")
        Timber.e("Error")
        Timber.w("Warning")
    }
}
Logcatの出力結果
2021-03-02 21:58:46.736 29451-29451/com.theuhooi.uhooipicbook V/MainActivity: Verbose
2021-03-02 21:58:46.736 29451-29451/com.theuhooi.uhooipicbook D/MainActivity: Debug
2021-03-02 21:58:46.736 29451-29451/com.theuhooi.uhooipicbook I/MainActivity: Info
2021-03-02 21:58:46.736 29451-29451/com.theuhooi.uhooipicbook E/MainActivity: Error
2021-03-02 21:58:46.737 29451-29451/com.theuhooi.uhooipicbook W/MainActivity: Warning

インスタンスの出力は、String templatesを使うとかんたんです。

MainActivity.kt
import timber.log.Timber

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)

        Timber.d("$this")
        Timber.d("${this.actionBar}") // プロパティやメソッドを呼ぶ場合は波括弧 `{ }` で括る必要がある
    }
}
Logcatの出力結果
2021-03-06 18:52:58.661 24680-24680/com.theuhooi.uhooipicbook D/MainActivity: com.theuhooi.uhooipicbook.MainActivity@95e20bb
2021-03-06 18:52:58.661 24680-24680/com.theuhooi.uhooipicbook D/MainActivity: null

おわりに

かんたんにログ出力を実現できました!
どのようなアプリの開発でも有用だと思います。

参考リンク

11
7
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
11
7