Как использовать 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)")
также попробуйте использовать следующие полезные методы как требуемый.
для больше деталей пожалуйста см. Репозиторий GitHub