Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

easy-1

안드로이드 릴리즈 모드 로그 제거 본문

Android/Kotlin

안드로이드 릴리즈 모드 로그 제거

easy-1 2021. 10. 18. 10:53

<개요>

개발을 하다보면 로그를 찍어 디버깅이나 정보를 확인하는 일이 많다.

하지만 이 로그를 그대로 남겨두면 배포된 앱을 사용자들이 로그를 확인이 가능하다.

이를 방지하기 위하여 디버그 모드에서는 로그를 확인할 수 있고,

릴리즈 모드에서는 로그를 확인할 수 없게 만들어준다.


<적용 방법>

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 값으로 판단

Comments