Notice
Recent Posts
Recent Comments
Link
투케이2K
76. (TWOK/UTIL) [Android/Java] S_Log - 로그 디버그 및 운영 구분 표시 설정 클래스 본문
투케이2K 유틸파일
76. (TWOK/UTIL) [Android/Java] S_Log - 로그 디버그 및 운영 구분 표시 설정 클래스
투케이2K 2022. 10. 18. 13:25[설 명]
프로그램 : Android / Java
설 명 : S_Log - 로그 디버그 및 운영 구분 표시 설정 클래스
[소스 코드]
package com.example.testapp;
import android.util.Log;
public 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 [전역 변수 선언 실시]
// private final static boolean DEBUG_VALUE = BuildConfig.DEBUG; // [true = 디버그 모드 / false = 릴리즈 모드]
private final static boolean DEBUG_VALUE = true; // [true = 디버그 모드 / false = 릴리즈 모드]
private final static boolean DEV_MODE = true; // [true = 개발 모드 지정 / false = 운영 모드 지정]
// TODO [Log.d]
public static void d(String tag, String msg){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.d(String.valueOf(tag),String.valueOf(msg));
}
}
// TODO [Log.i]
public static void i(String tag, String msg){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.i(String.valueOf(tag),String.valueOf(msg));
}
}
// TODO [Log.w]
public static void w(String tag, String msg){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.w(String.valueOf(tag),String.valueOf(msg));
}
}
// TODO [Log.e]
public static void e(String tag, String msg){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.e(String.valueOf(tag),String.valueOf(msg));
}
}
// TODO [Log.v]
public static void v(String tag, String msg){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.v(String.valueOf(tag),String.valueOf(msg));
}
}
// TODO [일반 단일 정보 출력]
public static void infoPrint(String className, String methodName, String description, String data){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.i("---","---" + "\n");
Log.d("//===========//","================================================");
Log.i("","\n"+"[CLASS :: "+String.valueOf(className)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[METHOD :: "+String.valueOf(methodName)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[DESCRIPTION :: "+String.valueOf(description)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[DATA :: "+String.valueOf(data)+"]");
Log.d("//===========//","================================================");
Log.i("---","---" + "\n");
}
}
// TODO [중요 단일 정보 출력]
public static void importantPrint(String className, String methodName, String description, String data){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.i("---","---" + "\n");
Log.w("//===========//","================================================");
Log.i("","\n"+"[CLASS :: "+String.valueOf(className)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[METHOD :: "+String.valueOf(methodName)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[DESCRIPTION :: "+String.valueOf(description)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[DATA :: "+String.valueOf(data)+"]");
Log.w("//===========//","================================================");
Log.i("---","---" + "\n");
}
}
// TODO [에러 단일 정보 출력]
public static void errorPrint(String className, String methodName, String description, String data){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.i("---","---" + "\n");
Log.e("//===========//","================================================");
Log.i("","\n"+"[CLASS :: "+String.valueOf(className)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[METHOD :: "+String.valueOf(methodName)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[DESCRIPTION :: "+String.valueOf(description)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[DATA :: "+String.valueOf(data)+"]");
Log.e("//===========//","================================================");
Log.i("---","---" + "\n");
}
}
// TODO [인풋 및 아웃풋 로그 출력]
public static void inputOutputPrint(String className, String methodName, String description, String input, String output){
if (DEBUG_VALUE == true && DEV_MODE == true){ // [디버그 환경 및 개발 모드일 경우 만]
Log.i("---","---" + "\n");
Log.d("//===========//","================================================");
Log.i("","\n"+"[CLASS :: "+String.valueOf(className)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[METHOD :: "+String.valueOf(methodName)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[DESCRIPTION :: "+String.valueOf(description)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[INPUT :: "+String.valueOf(input)+"]");
Log.i("","\n"+"-----------------------------------------");
Log.i("","\n"+"[RETURN :: "+String.valueOf(output)+"]");
Log.d("//===========//","================================================");
Log.i("---","---" + "\n");
}
}
} // TODO [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments