easy-1
안드로이드 릴리즈 모드 로그 제거 본문
<개요>
개발을 하다보면 로그를 찍어 디버깅이나 정보를 확인하는 일이 많다.
하지만 이 로그를 그대로 남겨두면 배포된 앱을 사용자들이 로그를 확인이 가능하다.
이를 방지하기 위하여 디버그 모드에서는 로그를 확인할 수 있고,
릴리즈 모드에서는 로그를 확인할 수 없게 만들어준다.
<적용 방법>
1. Debug 모드 확인 함수 생성
class Dlog {
/**
* Log Level Error
*/
companion object {
val TAG = "APP_NAME"
fun e(message: String?) {
if (BuildConfig.DEBUG) Log.e(TAG, buildLogMsg(message)!!)
}
/**
* Log Level Warning
*/
fun w(message: String?) {
if (BuildConfig.DEBUG) Log.w(TAG, buildLogMsg(message)!!)
}
/**
* Log Level Information
*/
fun i(message: String?) {
if (BuildConfig.DEBUG) Log.i(TAG, buildLogMsg(message)!!)
}
/**
* Log Level Debug
*/
fun d(message: String?) {
if (BuildConfig.DEBUG) Log.d(TAG, buildLogMsg(message)!!)
}
/**
* Log Level Verbose
*/
fun v(message: String?) {
if (BuildConfig.DEBUG) Log.v(TAG, buildLogMsg(message)!!)
}
fun buildLogMsg(message: String?): String? {
val ste = Thread.currentThread().stackTrace[4]
val sb = StringBuilder()
sb.append("[")
sb.append(ste.fileName.replace(".java", ""))
sb.append("::")
sb.append(ste.methodName)
sb.append("]")
sb.append(message)
return sb.toString()
}
}
}
-> BuildConfig 클래스에서의 boolean DEBUG 값으로 판단
'Android > Kotlin' 카테고리의 다른 글
안드로이드 SharedPreferences Manager (0) | 2021.10.26 |
---|---|
안드로이드 ViewPager2 (0) | 2021.10.23 |
안드로이드 Retrofit + MVVM + Repository + Dagger (0) | 2021.10.20 |
안드로이드 Dagger Hilt (0) | 2021.10.18 |
안드로이드 MVVM 이벤트 처리 (0) | 2021.10.18 |
Comments