Log utils for Android
매번 빈벅하게 사용하는 Log.d(TAG, "message")
를 조금더 쉽게 사용할 수 있는 유틸리티, 디버그 로그시에 Logcat 창에 해당 클래스명이 나와 클릭하면 바로 이동이 가능하다.
import android.util.Log
object Dlog {
private fun tag(): String? {
return Thread.currentThread().stackTrace[4].let {
val link = "(${it.fileName}:${it.lineNumber})"
val path = "App# ${it.className.substringAfterLast(".")}.${it.methodName}"
if (path.length + link.length > 80) {
"${path.take(80 - link.length)}...${link}"
} else {
"${path}${link}"
}
}
}
fun v(msg: String?) {
Log.v(tag(), "" + msg)
}
fun d(msg: String?) {
Log.d(tag(), "" + msg)
}
fun i(msg: String?) {
Log.i(tag(), "" + msg)
}
fun w(msg: String?) {
Log.w(tag(), "" + msg)
}
fun w(e: Throwable?) {
Log.w(tag(), "" + e?.localizedMessage)
}
fun w(e: Exception?) {
Log.w(tag(), "" + e?.localizedMessage)
}
fun e(msg: String?) {
Log.e(tag(), "" + msg)
}
}
아래와 같이 로그를 찍고 logcat 창에서 확인해보자, 친절하게 log 찍을 유틸리티 클래스명에 나와 클릭하면 바로 이동 가능함을 확인할 수 있다.
Dlog.d("log here!")
Read other posts