투케이2K

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

투케이2K 유틸파일

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

투케이2K 2022. 10. 18. 16:32

[설 명]

프로그램 : Ios / Swift

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

 

[소스 코드]

import Foundation
import UIKit

class S_Log {
    
    
    // MARK: - [클래스 설명]
    /*
    // -----------------------------------------
    1. 빌드 환경 debug , release 구분 로그 표시 설정 실시 방법
    // -----------------------------------------
    2. 호출 방법 :
     
     S_Log.d(msg: "A_Intro >> viewDidLoad() :: 뷰 로드 실시]")
     
     S_Log.infoPrint(className: "A_Intro", methodName: "viewDidLoad", description: "뷰 로드 실시", data: "USER = TWOK / AGE = 29")
    // -----------------------------------------
    */
    
    
    
    
    
    // MARK: - [전역 변수 선언 실시]
    static var DEBUG_VALUE = true // [true = 디버그 모드 / false = 릴리즈 모드]
    static let DEV_MODE = true // [true = 개발 모드 지정 / false = 운영 모드 지정]
    
    
    
    
    
    // MARK: - [S_Log.d]
    static func d(msg: String){
        #if DEBUG
        S_Log.DEBUG_VALUE = true
        #else
        S_Log.DEBUG_VALUE = false
        #endif
        
        if S_Log.DEBUG_VALUE == true && S_Log.DEV_MODE == true { // [디버그 환경 및 개발 모드일 경우 만]
            print("\(msg)")
        }
    }
    
    
    
    
    
    // MARK: - [단일 정보 출력]
    static func infoPrint(className: String, methodName: String, description: String, data:String){
        #if DEBUG
        S_Log.DEBUG_VALUE = true
        #else
        S_Log.DEBUG_VALUE = false
        #endif
        
        if S_Log.DEBUG_VALUE == true && S_Log.DEV_MODE == true { // [디버그 환경 및 개발 모드일 경우 만]
            print("")
            print("====================================")
            print("CLASS :: \(className)")
            print("-------------------------------")
            print("METHOD :: \(methodName)")
            print("-------------------------------")
            print("DESCRIPTION :: \(description)")
            print("-------------------------------")
            print("DATA :: \(data)")
            print("====================================")
            print("")
        }
    }
    
    
    
    
    
    // MARK: - [인풋 및 아웃풋 로그 출력]
    static func inputOutputPrint(className: String, methodName: String, description: String, input:String, output:String){
        #if DEBUG
        S_Log.DEBUG_VALUE = true
        #else
        S_Log.DEBUG_VALUE = false
        #endif
        
        if S_Log.DEBUG_VALUE == true && S_Log.DEV_MODE == true { // [디버그 환경 및 개발 모드일 경우 만]
            print("")
            print("====================================")
            print("CLASS :: \(className)")
            print("-------------------------------")
            print("METHOD :: \(methodName)")
            print("-------------------------------")
            print("DESCRIPTION :: \(description)")
            print("-------------------------------")
            print("INPUT :: \(input)")
            print("-------------------------------")
            print("RETURN :: \(output)")
            print("====================================")
            print("")
        }
    }
    
    
} // [클래스 종료]

 


 

반응형
Comments