[swift] Swift XCGLogger를 사용하여 로그 메시지를 어떻게 화면에 스크롤하나요?
  1. XCGLogger 라이브러리를 프로젝트에 추가합니다. 먼저, Podfile에 아래와 같이 추가합니다.
pod 'XCGLogger'
  1. 터미널을 열고 프로젝트 루트 디렉토리에서 다음 명령을 실행하여 CocoaPods를 설치합니다.
pod install
  1. 이제 프로젝트에서 XCGLogger를 사용할 준비가 되었습니다. 다음과 같이 XCGLogger를 초기화하고 화면에 스크롤되는 로그 메시지를 표시할 준비를 합니다.
import XCGLogger

let logger = XCGLogger.default

class ViewController: UIViewController {
    ...
}
  1. 이제 로그 메시지를 출력할 때마다 스크롤이 가능한 텍스트 뷰에 표시되도록 만들어보겠습니다. 뷰 컨트롤러에 UITextView를 추가하고 아울렛을 설정합니다.
@IBOutlet weak var logTextView: UITextView!
  1. viewDidLoad() 메서드에서 XCGLogger에 텍스트 로그 출력을 설정하고, 텍스트 뷰의 스크롤 속성을 설정합니다.
override func viewDidLoad() {
    super.viewDidLoad()
    
    // 로그 출력 설정
    logger.outputLevel = .debug
    logger.outputDateFormat = "HH:mm:ss.SSS"
    logger.showLogIdentifier = false
    logger.showFunctionName = true
    logger.showThreadName = true
    logger.showLevel = true
    logger.showFileNames = true
    logger.showLineNumbers = true
    logger.showDate = true
    
    logger.logAppDetails()

    // 텍스트 뷰 스크롤 속성 설정
    logTextView.isEditable = false
    logTextView.isScrollEnabled = true
    logTextView.contentInsetAdjustmentBehavior = .always
}
  1. 이제 로그 메시지가 출력될 때마다 텍스트 뷰에 추가되도록 설정해야 합니다. XCGLoggerlogAppDetails() 메서드 밑에 다음 코드를 추가합니다.
logger.logDestination = XCGConsoleLogDestination(owner: logger, writeToFile: nil, identifier: "_default", shouldAppend: false, appendMarker: "") { (logDetails: LogDetails, logString: String) in
    logTextView.text += "\(logString)\n"
    let range = NSMakeRange(logTextView.text.count - 1, 0)
    logTextView.scrollRangeToVisible(range)
}

이제 로그 메시지가 화면에 스크롤되며 표시됩니다.