如何在框架中使用 XCGLogger
How to use XCGLogger in a framework
我想在我正在编写的 Swift 框架中使用 XCGLogger。包含此框架的应用程序可能也可能不使用 XCGLogger。
处理这种情况的最佳方法是什么?我会使用依赖注入之类的东西让应用程序将 XCGLogger 实例发送到框架吗?在框架的什么地方调用XCGLogger的setup方法?
安装 '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)
假设我想在我的 BLUserServicesCD.swift
中使用 XCGLogger
。因此,import XCGLogger
在文件的顶部。
创建变量 private let Logger = XCGLogger.defaultInstance()
并使用
记录
Logger.info("USER DELETED SUCCESSFULLY")
或
Logger.error("COULD NOT DELETE USER \(error), \(error?.userInfo)")
也可以根据需要尝试使用以下这些有用的方法。
详情请参考GitHub Repository
我可以在项目和框架中使用相同的记录器,只需在两者中引用相同的 XCGLogger.defaultInstance()
。
首先,在导入中import XCGLogger
,然后使用let log = XCGLogger.defaultInstance()
实例化项目中的日志实例。
之后,我实例化了我正在使用的框架的 sharedInstance
(根据我的特定用例)。
在框架内,import XCGLogger
& 在我的 Class
声明之前实例化记录器 let log = XCGLogger.defaultInstance()
。
然后,回到 AppDelegate.swift
的 didFinishLaunchingWithOptions
,我做了 log.setup(...your params...)
。
在您编写框架的情况下,如果没有按照您喜欢的方式设置记录器,您将需要一些逻辑和自述文件来设置记录器。
可能不是完成它的最优雅的方法,但它确实有效。
希望对您有所帮助。
我想在我正在编写的 Swift 框架中使用 XCGLogger。包含此框架的应用程序可能也可能不使用 XCGLogger。
处理这种情况的最佳方法是什么?我会使用依赖注入之类的东西让应用程序将 XCGLogger 实例发送到框架吗?在框架的什么地方调用XCGLogger的setup方法?
安装 'XCGLogger' 和 pods
use_frameworks!
target '<YouAppName>' do
pod 'XCGLogger'
import XCGLogger
在`AppDelegate.swift'
在application(_:didFinishLaunchingWithOptions:)
中用
//Setting up XCGLogger shared instance ()
XCGLogger.defaultInstance().setup(.Debug, showLogLevel: true, showFileNames: true, showLineNumbers: true, writeToFile: nil, fileLogLevel: .Debug)
假设我想在我的 BLUserServicesCD.swift
中使用 XCGLogger
。因此,import XCGLogger
在文件的顶部。
创建变量 private let Logger = XCGLogger.defaultInstance()
并使用
Logger.info("USER DELETED SUCCESSFULLY")
或
Logger.error("COULD NOT DELETE USER \(error), \(error?.userInfo)")
也可以根据需要尝试使用以下这些有用的方法。
详情请参考GitHub Repository
我可以在项目和框架中使用相同的记录器,只需在两者中引用相同的 XCGLogger.defaultInstance()
。
首先,在导入中import XCGLogger
,然后使用let log = XCGLogger.defaultInstance()
实例化项目中的日志实例。
之后,我实例化了我正在使用的框架的 sharedInstance
(根据我的特定用例)。
在框架内,import XCGLogger
& 在我的 Class
声明之前实例化记录器 let log = XCGLogger.defaultInstance()
。
然后,回到 AppDelegate.swift
的 didFinishLaunchingWithOptions
,我做了 log.setup(...your params...)
。
在您编写框架的情况下,如果没有按照您喜欢的方式设置记录器,您将需要一些逻辑和自述文件来设置记录器。
可能不是完成它的最优雅的方法,但它确实有效。
希望对您有所帮助。