[swift] SwiftyUserDefaults를 사용하여 로깅 설정 관리하기

로깅은 애플리케이션 개발 및 디버깅 중에 매우 중요한 역할을 합니다. 앱에서 발생하는 로그를 캡처하고 저장하여 문제를 식별하고 해결하는 데 도움을 줍니다. SwiftyUserDefaults는 Swift 언어로 작성된 로그 설정을 관리하는 데 사용할 수 있는 간편한 라이브러리입니다.

단계 1: SwiftyUserDefaults 설치

Podfile 파일에 다음 줄을 추가하여 SwiftyUserDefaults를 프로젝트에 설치합니다.

pod 'SwiftyUserDefaults'

터미널에서 다음 명령을 실행하여 의존성을 설치합니다.

pod install

단계 2: 로깅 설정 모델 생성

먼저, 로깅 설정을 저장할 모델을 만듭니다. 다음과 같이 LogSettings라는 구조체를 작성합니다.

import SwiftyUserDefaults

struct LogSettings {
    let isEnabled: DefaultsKey<Bool>
    let logLevel: DefaultsKey<String>

    static let shared = LogSettings()

    private init() {
        isEnabled = .init("isEnabled", defaultValue: true)
        logLevel = .init("logLevel", defaultValue: "debug")
    }
}

위의 예제에서는 isEnabledlogLevel이라는 두 가지 로깅 설정을 정의합니다. DefaultsKey 타입을 사용하여 기본값과 함께 각 설정을 초기화합니다. 또한, shared라는 정적 변수를 사용하여 싱글톤 인스턴스를 만들어 다른 부분에서도 로깅 설정에 접근할 수 있도록 합니다.

단계 3: 로깅 설정 사용

이제, 로깅 설정을 사용하여 로깅을 조작할 수 있습니다. 다음은 예를 들어 로깅이 활성화되었는지 확인하고 로그를 기록하는 방법입니다.

if LogSettings.shared.isEnabled.value {
    // 로그 기록
    debugPrint("This is a log message")
}

위의 예제에서는 isEnabled 설정 값을 가져와 해당 값이 true인 경우에만 로그를 기록합니다.

단계 4: 로깅 설정 변경

로깅 설정을 변경하는 방법에 대해 알아보겠습니다. 다음과 같이 설정을 변경할 수 있습니다.

LogSettings.shared.isEnabled.value = false
LogSettings.shared.logLevel.value = "info"

위의 예제에서는 isEnabled 설정 값을 false로 변경하고 logLevel 설정 값을 "info"로 변경합니다. 이렇게 하면 로깅이 비활성화되고 로그 레벨이 변경됩니다.

결론

SwiftyUserDefaults를 사용하여 로깅 설정을 관리하는 것은 간단하고 효과적입니다. 위의 단계를 따라서 로깅 설정 모델을 만들고 사용하는 방법을 확인할 수 있습니다. 로그를 관리하고 디버깅을 할 때 매우 편리한 기능을 제공하기 때문에 프로젝트에서 유용하게 활용할 수 있습니다.

참고: