在您的 App Delegate 中只需添加这些行进行基本设置(这将启用全局 NSURLSession 和 NSURLConnection 的请求和响应日志)
#import <MLNetworkLogger.h>
在您的 application:didFinishLaunchingWithOptions:
中只需添加
[[MLNetworkLogger sharedLogger] startLogging];
现在您就可以开始了!但您可以通过自定义来做更多的事情...
[[MLNetworkLogger sharedLogger] addAdapter:[MLAFNetworkingAdapter new]];
[[MLNetworkLogger sharedLogger] setLogDetalization:MLNetworkLoggerLogDetalizationHigh];
[[MLNetworkLogger sharedLogger] setRequestFilter:[MLHostnameRequestFilter filterWithHostnames:@[@"apple.com"]]];
注意:当前我们只预安装了主机名过滤器,您可以使用它仅记录来自特定主机的网络流量,或使用正则表达式模式匹配。当然,您可以编写自己的过滤器,并通过拉取请求使其对每个人可用。
[[MLNetworkLogger sharedLogger] setRequestLogFormat:MLNetworkLoggerRequestLogFormatCURL];
目前我们只支持 AFNetworking,要记录来自它的流量,请添加以下内容
[[MLNetworkLogger sharedLogger] addAdapter:[MLAFNetworkingAdapter new]];
注意:我们知道 AFNetworking 使用原生的 NSURLSession/NSURLConnection 类来操作请求和响应,但问题是它创建了自己的 NSURLSession 对象,这个对象只能通过 AFNetworking 框架本身进行记录,而不能从任何外部框架中访问。因此,只有当您使用与 AFURLSessionManager API 一起使用的 AFNetworking 时,才需要此选项。
要运行示例项目,克隆仓库,并运行 pod try MLNetworkLogger
MUSTLab 开发者,[email protected]
MLNetworkLogger 可在 MIT 许可下使用。更多信息请参阅 LICENSE 文件。