我正在为我的iOS项目使用Moya。我试图使用Netfox来记录我的HTTP请求。
由于Moya是Alamofire的包装器,我最终在Alamofire.SessionManager
的NFXProtocol
中创建了带有URLSessionConfiguration
的自定义protocolClasses
。我成功地收到了请求和响应的响应日志和头,但总是错过了请求正文。
我偶然发现了this fix on Netfox from 2015,但我不知道如何与Moya一起使用它。你们中有人知道如何实施吗?
提前谢谢!
最佳答案
只需要为Moya使用网络日志插件,它已经是Moya的一部分,只需要连接它。在实例化Moya提供程序时,可以传递插件数组:
let plugins = [NetworkLoggerPlugin()]
let provider = MoyaProvider<MyNetworkApiService>(manager: manager, plugins: plugins)
要仅为开发启用日志记录,并为发布版本禁用日志记录,您可以执行以下操作:
var plugins: [PluginType] = []
#if DEBUG
plugins.append(NetworkLoggerPlugin())
#endif
let provider = MoyaProvider<MyNetworkApiService>(manager: manager, plugins: plugins)