我想在我正在编写的Swift框架中使用XCGLogger。包含此框架的应用程序可能也可能不使用XCGLogger。
处理这种情况的最佳方法是什么?我会使用依赖注入之类的方法让应用程序将XCGLogger实例发送到框架吗?在框架中,我应该在哪里调用XCGLogger的安装方法?
发布于 2016-09-29 02:07:12
我可以在项目和框架中使用相同的记录器,只需在两个项目中引用相同的XCGLogger.defaultInstance()即可。
首先,导入import XCGLogger,然后使用let log = XCGLogger.defaultInstance()实例化项目中的日志实例。
之后,我实例化了我所使用的框架的sharedInstance (根据我的特定用例)。
在框架中,import XCGLogger &在let log = XCGLogger.defaultInstance()声明之前实例化记录器let log = XCGLogger.defaultInstance()。
然后,回到didFinishLaunchingWithOptions of AppDelegate.swift,我做log.setup(...your params...)。
在编写框架的情况下,如果不按您喜欢的方式设置记录器,则需要一些逻辑和自述文件注释。
也许不是最优雅的方式来完成它,但它确实有效。
希望这能有所帮助。
发布于 2016-04-11 14:10:35
用XCGLogger安装pods
use_frameworks!
target '<YouAppName>' do
pod 'XCGLogger'import XCGLogger in `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") OR
Logger.error("COULD NOT DELETE USER \(error), \(error?.userInfo)")
此外,还可以根据需要使用以下这些有用的方法。

有关详细信息,请参阅GitHub仓库
https://stackoverflow.com/questions/35954967
复制相似问题