[swift] Swift Presentr와 함께 사용하는 에러 로깅 시스템 구축 방법

소개

Swift Presentr은 iOS 앱에서 간단하고 유연하게 커스텀화된 모달 형태의 뷰 컨트롤러를 표현할 수 있는 라이브러리입니다. 이러한 라이브러리를 사용할 때 에러 로깅 시스템을 구축하여 앱의 안정성과 디버깅을 용이하게 할 수 있습니다. 이번 글에서는 Swift Presentr를 사용하는 에러 로깅 시스템을 구축하는 방법에 대해 알아보겠습니다.

단계 1: 로깅 프레임워크를 설치

에러 로깅을 위해 우리는 로깅 프레임워크를 사용할 것입니다. 여러 가지 로깅 프레임워크가 있지만, 간단하고 사용하기 편리한 CocoaLumberjack를 선택하겠습니다. 다음과 같은 단계로 CocoaLumberjack를 프로젝트에 설치하세요.

  1. Podfile 파일을 열고 CocoaLumberjack를 추가하세요.
    pod 'CocoaLumberjack'
    
  2. 터미널에서 pod install 명령어를 실행하세요.

  3. AppDelegate 파일의 상단에 다음 코드를 추가해 CocoaLumberjack를 import하세요.
    import CocoaLumberjack
    

단계 2: Presentr 호출 시 에러 로깅

Swift Presentr를 사용할 때 발생하는 에러를 캐치하여 로깅하려면, try-catch 문을 사용합니다. Presentr를 호출하는 부분에 try-catch 문을 추가하고, 에러 발생 시 해당 에러를 로깅하는 코드를 작성하세요.

do {
    try presenter.present(presenteeViewController: nextViewController, animated: true, completion: nil)
} catch let error {
    DDLogError("Presentr Error: \(error.localizedDescription)")
    // 에러 처리 로직 추가
}

위 코드에서 DDLogError는 CocoaLumberjack의 로깅 레벨 중 하나로, 에러 로그를 출력합니다.

단계 3: 로깅 설정

로깅은 개발자가 원하는 수준으로 설정할 수 있습니다. 로깅 프레임워크를 초기화하고 원하는 로깅 레벨을 설정하는 코드를 AppDelegate 파일에 추가하세요.

import CocoaLumberjack

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Configure CocoaLumberjack
    DDLog.add(DDOSLogger.sharedInstance) // Xcode console에 로그 출력
    DDOSLogger.sharedInstance.logFormatter = DDLogMessageFormatter() // 로그 포맷 설정
    
    // 로깅 레벨 설정
    #if DEBUG
        DDLog.sharedInstance.logLevel = .debug
    #else
        DDLog.sharedInstance.logLevel = .error
    #endif
    
    // ...
    
    return true
}

위 코드에서 .debug.error는 CocoaLumberjack에서 제공하는 로깅 레벨 중 일부입니다. 디버그 레벨은 개발 중에 모든 로그를 출력하고, 에러 레벨은 배포 시 에러 로그만 출력합니다.

결론

Swift Presentr를 사용하는 앱에서 에러 로깅 시스템을 구축하는 방법을 알아보았습니다. 로깅 프레임워크인 CocoaLumberjack를 설치하고, Presentr 호출 시 발생하는 에러를 캐치하여 로깅하는 방법을 배웠습니다. 이를 통해 앱의 안정성을 향상시키고 디버깅을 용이하게 할 수 있습니다.

참고 자료