투케이2K

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

투케이2K 유틸파일

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

투케이2K 2022. 10. 19. 08:44

[설 명]

프로그램 : Ios / Objective-C

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

 

 

 

[소스 코드]

 

import Foundation
import UIKit

@objc class S_Log: NSObject {
    
    
    // MARK: - [클래스 설명]
    /*
    // -----------------------------------------
    1. 개발 운영 구분 로그 표시 설정 실시 방법
    // -----------------------------------------
    2. 호출 방법 :
     
     [[S_Log shared] logWithMsg:@"안녕 반가워 투케이"];
     
     
     [[S_Log shared]
      infoPrintWithClassName:@"ViewController"
      methodName:@"testMain"
      description:@"테스트 함수 수행"
      data:@"NAME = 투케이 , AGE = 29"];
    // -----------------------------------------
    3. Objctive C 예시 import 구문 :
     
     프로젝트이름-Swift.h 명시 (#import "objectiveProject-Swift.h")
    // -----------------------------------------
    4. Objective C 소스 코드에서 Swift 코드 호출 방법 참고 사이트 :
     
     https://blog.naver.com/kkh0977/222785528528
     
     https://kkh0977.tistory.com/m/2035
    // -----------------------------------------
    */
    
    
    
    
    
    // MARK: - [전역 변수 선언 실시]
    @objc static let shared = S_Log()
    @objc static let DEV_MODE = true // [true = 개발 모드 지정 / false = 운영 모드 지정]
    
    
    
    
    
    // MARK: - [S_Log.d]
    @objc func log(msg: String){
        if S_Log.DEV_MODE == true { // [디버그 환경 및 개발 모드일 경우 만]
            print("\(msg)")
        }
    }
    
    
    
    
    
    // MARK: - [단일 정보 출력]
    @objc func infoPrint(className: String, methodName: String, description: String, data:String){
        if 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: - [인풋 및 아웃풋 로그 출력]
    @objc func inputOutputPrint(className: String, methodName: String, description: String, input:String, output:String){
        if 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