delba/Log 의 Swift 입니다.print()와 같은 느낌으로 로그 출력하기

4510 단어 XcodeSwiftiOS

DaveWoodCom/XCGLogger


XCGLogger는 매우 편리하지만, 나는 로그 출력의 내용을 string으로 전달해야 한다는 것에 불만을 느낀다.
var text = "log"
log.debug("\(text)")  // こんな感じで string にして渡さないといけない
그게 아니라 Swift.print(text)처럼 변수와 대상이 출력을 직접 전달하는 로그 라이브러리를 찾다가 발견해서 소개했습니다.

delba/Log: An extensible logging framework for Swift


반년 전에 나온 창고.
Log이라는 이름이라 갈기 힘든데...
Use Log just as you would use print. 마음대로 사용할 수 있습니다.

Usage


그중에 나타난 #if DEBUG 이 무엇인지, logOptional 인 이유는 참고하세요 XCGLogger에서 DEBUG에서만 log-Qiita 보내기.

AppDelegate.swift

import Log

let log: Logger? = {
  #if DEBUG
    let Log = Logger(formatter: .Detailed, theme: .TomorrowNight)
    return Log
  #else
    return nil
  #endif
}()

ViewController.swift


  override func viewDidLoad() {
    super.viewDidLoad()
    let one = 1
    let warning = "warning!!!!!!"
    let error = "error!!!!!!"
    log?.trace("Called!!!")
    log?.debug("Who is self:", self)
    log?.info(one)
    log?.warning(warning, separator: " - ")
    log?.error(error, terminator: "😱😱😱\n")
  }

결과


String이든 변수든 Swift.print()의 느낌으로 출력을 기록할 수 있어서 정말 기쁘다

좋은 웹페이지 즐겨찾기