Как использовать XCGLogger в рамках

Я хочу использовать XCGLogger внутри структуры Swift, которую я пишу. Приложение, которое включает в себя эту структуру может или не может использовать XCGLogger, а также.

каков наилучший способ подойти к такому сценарию? Буду ли я использовать что-то вроде инъекции зависимостей, чтобы приложение отправляло экземпляр XCGLogger в фреймворк? Где в рамках я мог бы вызвать метод установки XCGLogger?

2 ответов


я могу использовать тот же регистратор в проекте и фреймворке, просто ссылаясь на тот же XCGLogger.defaultInstance() в обоих.

во-первых,import XCGLogger в импорте, затем создайте экземпляр журнала в проекте, используя let log = XCGLogger.defaultInstance().

после этого я создаю экземпляр sharedInstance основы я использую (в моем конкретном случае использовать).

в рамках import XCGLogger & экземпляр логгера let log = XCGLogger.defaultInstance() перед моими Class декларации.

затем, вернувшись в didFinishLaunchingWithOptions of AppDelegate.swift, Я log.setup(...your params...).

в случае, если вы создаете фреймворк, вам понадобятся некоторые заметки logic и readme для настройки регистратора, если он не настроен так, как вы предпочитаете.

возможно, не самый элегантный способ сделать это, но это работает.

надеюсь, это поможет.


установить 'XCGLogger' с pods

use_frameworks!

target '<YouAppName>' do
pod 'XCGLogger'

import XCGLogger в файле AppDelegate.swift'

на application(_:didFinishLaunchingWithOptions:) настройка XCGLogger с

    //Setting up XCGLogger shared instance ()
    XCGLogger.defaultInstance().setup(.Debug, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug)

предположим, я хочу использовать XCGLogger в своем BLUserServicesCD.swift. Итак,import XCGLogger в верхней части файла. Создайте переменную private let Logger = XCGLogger.defaultInstance() и журнала

Logger.info("USER DELETED SUCCESSFULLY") или

Logger.error("COULD NOT DELETE USER \(error), \(error?.userInfo)")

также попробуйте использовать следующие полезные методы как требуемый.

enter image description here

для больше деталей пожалуйста см. Репозиторий GitHub