투케이2K

92. (TWOK/UTIL) [Android/Kotlin] S_Log - 로그 디버그 및 운영 구분 표시 설정 클래스 본문

투케이2K 유틸파일

92. (TWOK/UTIL) [Android/Kotlin] S_Log - 로그 디버그 및 운영 구분 표시 설정 클래스

투케이2K 2022. 10. 19. 10:50

[설 명]

프로그램 : Android / Kotlin

설 명 : S_Log - 로그 디버그 및 운영 구분 표시 설정 클래스

 

[소스 코드]

package kr.co.two2k.manager

import android.util.Log

class S_Log {


    /**
     * // ------------------------------------
     * TODO [클래스 설명]
     * // ------------------------------------
     * 1. 빌드 환경 debug , release 구분 로그 표시 설정 실시 방법
     * // ------------------------------------
     * 2. BuildConfig.DEBUG : 안드로이드 빌드 환경 debug , release 모드를 구분할 수 있습니다
     * // ------------------------------------
     * 3. BuildConfig.DEBUG 값은 apk 및 aab 파일을 release 로 배포 시 false 값으로 변경됩니다
     * // ------------------------------------
     * 4. 호출 방법 :
     *
     * S_Log.d("A_Main Class", "onCreate 함수 수행")
     *
     * S_Log.infoPrint("A_Intro", "onCreate", "액티비티 시작 수행", "USER = TWOK / AGE = 29")
     * // ------------------------------------
     */





    // TODO [companion object >> static 선언 실시]
    companion object {


        // TODO [전역 변수 선언 실시]
        // private val DEBUG_VALUE = BuildConfig.DEBUG // [true = 디버그 모드 / false = 릴리즈 모드]
        private val DEBUG_VALUE = true // [true = 디버그 모드 / false = 릴리즈 모드]
        
        private val DEV_MODE = true // [true = 개발 모드 지정 / false = 운영 모드 지정]


        // TODO [Log.d]
        fun d(tag: String, msg: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true) { // [디버그 환경 및 개발 모드일 경우 만]
                    Log.d(tag, msg)
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [Log.i]
        fun i(tag: String, msg: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true) { // [디버그 환경 및 개발 모드일 경우 만]
                    Log.i(tag, msg)
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [Log.w]
        fun w(tag: String, msg: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true) { // [디버그 환경 및 개발 모드일 경우 만]
                    Log.w(tag, msg)
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [Log.e]
        fun e(tag: String, msg: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true) { // [디버그 환경 및 개발 모드일 경우 만]
                    Log.e(tag, msg)
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [Log.v]
        fun v(tag: String, msg: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true) { // [디버그 환경 및 개발 모드일 경우 만]
                    Log.v(tag, msg)
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [일반 단일 정보 출력]
        fun infoPrint(className: String, methodName: String, description: String, data: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true) { // [디버그 환경 및 개발 모드일 경우 만]
                    Log.i("---","---" + "\n")
                    Log.d("//===========//","================================================")
                    Log.i("","\n"+"[CLASS :: "+className+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[METHOD :: "+methodName+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[DESCRIPTION :: "+description+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[DATA :: "+data+"]")
                    Log.d("//===========//","================================================")
                    Log.i("---","---" + "\n")
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [중요 단일 정보 출력]
        fun importantPrint(className: String, methodName: String, description: String, data: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
                    Log.i("---","---" + "\n")
                    Log.w("//===========//","================================================")
                    Log.i("","\n"+"[CLASS :: "+className+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[METHOD :: "+methodName+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[DESCRIPTION :: "+description+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[DATA :: "+data+"]")
                    Log.w("//===========//","================================================")
                    Log.i("---","---" + "\n")
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [에러 단일 정보 출력]
        fun errorPrint(className: String, methodName: String, description: String, data: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
                    Log.i("---","---" + "\n")
                    Log.e("//===========//","================================================")
                    Log.i("","\n"+"[CLASS :: "+className+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[METHOD :: "+methodName+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[DESCRIPTION :: "+description+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[DATA :: "+data+"]")
                    Log.e("//===========//","================================================")
                    Log.i("---","---" + "\n")
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }


        // TODO [인풋 및 아웃풋 로그 출력]
        fun inputOutputPrint(className: String, methodName: String, description: String, input: String, output: String) {
            try{
                if (DEBUG_VALUE == true && DEV_MODE == true) { // [디버그 환경 및 개발 모드일 경우 만]
                    Log.i("---","---" + "\n")
                    Log.d("//===========//","================================================")
                    Log.i("","\n"+"[CLASS :: "+className+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[METHOD :: "+methodName+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[DESCRIPTION :: "+description+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[INPUT :: "+input+"]")
                    Log.i("","\n"+"-----------------------------------------")
                    Log.i("","\n"+"[RETURN :: "+output+"]")
                    Log.d("//===========//","================================================")
                    Log.i("---","---" + "\n")
                }
            }
            catch(e : Exception){
                e.printStackTrace()
            }
        }
    }


} // TODO [클래스 종료]

 

반응형
Comments