📝

AndroidのLog出力をTimberにしてみた

2024/04/19に公開

Timberとは

Androidのログ出力ライブラリです。
Logクラスをラップしたものです。

https://github.com/JakeWharton/timber

Logについて

ログレベルのガイドライン

ログレベル 関数名
ERROR Log.e
WARN Log.w
INFO Log.i
DEBUG Log.d
VERBOSE Log.v

詳しくはこちら

実装例

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

導入手順

  1. 「build.gradle.kts」に追記
dependencies {

    implementation(libs.androidx.core.ktx)
    implementation(libs.androidx.appcompat)
    implementation(libs.material)
    implementation(libs.androidx.activity)
    implementation(libs.androidx.constraintlayout)
    testImplementation(libs.junit)
    androidTestImplementation(libs.androidx.junit)
    androidTestImplementation(libs.androidx.espresso.core)
    // 追記
    implementation(libs.timber)
}
  1. デバッグ設定(「build.gradle.kts」)
    buildTypes {
        // 追記
        debug {
            applicationIdSuffix = ".debug"
            isDebuggable = true
        }
        release {
            isMinifyEnabled = true
            applicationIdSuffix = ".release"
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
  1. 初期設定するクラスを作成
/// 新規作成
class BaseApplication: Application() {
    override fun onCreate() {
        super.onCreate()
        if (BuildConfig.DEBUG) {
            Timber.plant(Timber.DebugTree())
        }
    }
}
  1. AndroidManifest,xmlにBaseApplicationを設定
    <application
        // 追記
        android:name=".BaseApplication"
        android:allowBackup="true"
        .... 
    />
  1. 出力してみる
Timber.e("This is Error")
Timber.i("This is Info")

Discussion