본문 바로가기
프로그래밍

[Swift] Xcode 콘솔 로그 변경하기

by hansoo.labs 한수댁 2019. 4. 2.

Changing log style in Xcode console

Xcode 콘솔에서도 안드로이드 Logcat 처럼 print 값이 호출되는 위치와 코드라인 등을 표시할 수 있더라구요. 이제야 알게 되다니..
Literal Expression 문서에 잘 나와 있다.

  • #file 은 파일 정보를 파라메터로 받을 수 있다.
  • #line 은 코드 라인 정보를 받는다.
  • #function은 함수 이름을 받는다.

아래 Log 함수를 전역에 만들고,

public func Log<T>(_ object: T?, filename: String = #file, line: Int = #line, funcName: String = #function) {
    #if DEBUG
    let th = Thread.current.isMainThread ? "main": Thread.current.name ?? "-"
    if let obj = object {
        print("***** \(Date()) \(th) \(filename.components(separatedBy: "/").last ?? "") (LINE\(line)) :: \(funcName) :: \(obj)")
    } else {
        print("***** \(Date()) \(th) \(filename.components(separatedBy: "/").last ?? "") (LINE\(line)) :: \(funcName) :: nil")
    }
    #endif
}

이렇게 쓰면

Log("expandedHeight 설정 \(expandedHeight)")

이렇게 출력이 됨 !! 야호!!

***** 2019-04-02 08:43:14 +0000 main NaviBar.swift (LINE217) :: layoutSubviews() :: expandedHeight 설정 44.0

댓글0