728x90
Logger Util 을 만들어서 클래스, 메소드 명만 출력하면서 사용하고 있었는데
MainActivity.java:123
이런 형태로 출력하면 해당 라인으로 바로 이동도 가능하다고 한다.
object Logger {
private val isDEBUG = BuildConfig.DEBUG
fun d(message: String) {
if (isDEBUG) {
Log.d(tag(), message)
}
}
fun e(message: String) {
if (isDEBUG) {
Log.e(tag(), message)
}
}
fun i(message: String) {
if (isDEBUG) {
Log.i(tag(), message)
}
}
fun w(message: String) {
if (isDEBUG) {
Log.w(tag(), message)
}
}
fun v(message: String) {
if (isDEBUG) {
Log.v(tag(), message)
}
}
private fun tag(): String {
val level = 4
val trace = Thread.currentThread().stackTrace[level]
val fileName = trace.fileName
val classPath = trace.className
val className = classPath.substring(classPath.lastIndexOf(".") + 1)
val methodName = trace.methodName.split("$").find { !it.contains("lambda") }
val lineNumber = trace.lineNumber
return "Logger# $className.$methodName($fileName:$lineNumber)"
}
}
'Kotlin > 자주쓰는 내용 정리' 카테고리의 다른 글
Android Studio: CreateProcess error=206, The filename or extension is too long (0) | 2021.07.02 |
---|---|
나를 위한 Splash 화면 (0) | 2021.01.15 |
RecyclerView 클릭이벤트 인터페이스 (0) | 2021.01.15 |