私はSwiftフレームワークの中でXCGLoggerを使用したいと思います。このフレームワークを含むアプリケーションは、XCGLoggerを使用する場合と使用しない場合があります。フレームワークでXCGLoggerを使用する方法
このようなシナリオにはどのようなアプローチが最適ですか?アプリケーションがXCGLoggerインスタンスをフレームワークに送信できるように、依存性注入のようなものを使用しますか?どのフレームワークで私はXCGLoggerのセットアップメソッドを呼び出すでしょうか?
私はSwiftフレームワークの中でXCGLoggerを使用したいと思います。このフレームワークを含むアプリケーションは、XCGLoggerを使用する場合と使用しない場合があります。フレームワークでXCGLoggerを使用する方法
このようなシナリオにはどのようなアプローチが最適ですか?アプリケーションがXCGLoggerインスタンスをフレームワークに送信できるように、依存性注入のようなものを使用しますか?どのフレームワークで私はXCGLoggerのセットアップメソッドを呼び出すでしょうか?
//Setting up XCGLogger shared instance()
XCGLogger.defaultInstance().setup(.Debug, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug)
でapplication(_:didFinishLaunchingWithOptions:)
のconfigure XCGLoggerでAppDelegate.swift」
`でpods
use_frameworks!
target '<YouAppName>' do
pod 'XCGLogger'
import XCGLogger
と 'XCGLogger' をインストールするには、私は私のBLUserServicesCD.swift
でXCGLogger
を使用するとします。したがって、ファイルの先頭にimport XCGLogger
があります。 変数private let Logger = XCGLogger.defaultInstance()
を作成し、また必要に応じてこれら以下に便利なメソッドを使用しようと
Logger.info("USER DELETED SUCCESSFULLY")
OR
Logger.error("COULD NOT DELETE USER \(error), \(error?.userInfo)")
私は単に両方で同じXCGLogger.defaultInstance()
を参照することにより、プロジェクトと枠組みの中で同じロガーを使用することができるよGitHub Repository
OPは彼らが構築しているフレームワークにXCGLoggerを統合する方法を尋ねていました。 XCGLoggerをアプリケーション/プロジェクトに簡単に統合する方法については、回答が徹底していますが、OPの質問は解決しません。 –
を参照してください。
最初にimport XCGLogger
をインポートし、let log = XCGLogger.defaultInstance()
を使用してプロジェクトのログインスタンスをインスタンス化します。
その後、使用しているフレームワークのsharedInstance
をインスタンス化します(私の特定のユースケースごとに)。枠組みの中で
、import XCGLogger
&は私Class
宣言の前にロガーlet log = XCGLogger.defaultInstance()
をインスタンス化します。
didFinishLaunchingWithOptions
をAppDelegate.swift
に戻すと、log.setup(...your params...)
となります。
フレームワークをオーサリングしている場合は、好みの設定になっていなければ、ロガーを設定するためのロジックとreadmeのメモが必要です。
おそらく最もエレガントなやり方ではありませんが、うまくいくでしょう。
希望に役立ちます。
これを解決しましたか? –
私はちょうどフレームワークの別のロガーインスタンスを使用しています – SuitedSloth