【Android & Kotlin】Extensionで楽にログ出力する方法

KotlinのExtensionを使って、楽にログ出力する方法です。

クラス名を記述しなくても、呼び出したクラスの名前を出力できます。

[ExAny.kt]

import android.util.Log
import info.ecolife_lab.soaprecord.BuildConfig

fun Any.logD(message: String) {
    if (BuildConfig.DEBUG) {
        Log.d("###アプリ名", "[" + this.javaClass.simpleName + "]: $message")
    }
}

・使用方法

// Activity / Fragment / Modelのクラスどこでも呼び出せる
logD("ログ出力したい内容を記述")

・出力

2021-05-09 08:03:19.796 12572-12572/info.ecolife_lab.soaprecord D/###SoapRecord: [MainActivity]: ログ出力したい内容を記述

・補足

Anyクラスで呼び出したクラスのインスタンスからクラス名を取得しています。

また、C言語には__LINE__FILEがあり、これで実行中の行数やファイル名を取得できるようです。

試していないのですが、以下を参考にしたらAnyクラスを使用せずとも同じようなことができそうでした。暇なときにためしてみよう( ˘ω˘)スヤァ

https://stackoverflow.com/questions/1346391/line-equivalent-in-java

以上、参考になれば幸いです(*’ω’*)


投稿日

カテゴリー:

投稿者:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA