Notice
Recent Posts
Recent Comments
Link
투케이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 [클래스 종료]
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
94. (TWOK/UTIL) [Mssql/DB] 쿼리 구문 DECLARE BEGIN END (0) | 2022.10.19 |
---|---|
93. (TWOK/UTIL) [Oracle/DB] 쿼리 구문 DECLARE BEGIN END (0) | 2022.10.19 |
91. (TWOK/UTIL) [Ios/Objc] S_Log - 로그 디버그 및 운영 구분 표시 설정 클래스 (0) | 2022.10.19 |
90. (TWOK/UTIL) [Mysql/DB] 인덱스 (index) - past select (0) | 2022.10.19 |
89. (TWOK/UTIL) [Mssql/DB] 인덱스 (index) - past select (0) | 2022.10.19 |
Comments