MLNetworkLogger 0.1.1

MLNetworkLogger 0.1.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2014年12月

MUSTLab 维护。



  • MUSTLab 开发者

用法

在您的 App Delegate 中只需添加这些行进行基本设置(这将启用全局 NSURLSession 和 NSURLConnection 的请求和响应日志)

#import <MLNetworkLogger.h>

在您的 application:didFinishLaunchingWithOptions: 中只需添加

[[MLNetworkLogger sharedLogger] startLogging];

现在您就可以开始了!但您可以通过自定义来做更多的事情...

要记录 AFNetworking 的流量,只需添加以下内容

[[MLNetworkLogger sharedLogger] addAdapter:[MLAFNetworkingAdapter new]];

要设置日志详细程度

[[MLNetworkLogger sharedLogger] setLogDetalization:MLNetworkLoggerLogDetalizationHigh];

以下是不同详细程度对 HTTP 请求/响应的含义

  • MLNetworkLoggerLogDetalizationLow - 仅记录 URL、HTTP 方法和状态码
  • MLNetworkLoggerLogDetalizationMedium - 将记录 URL、HTTP 方法、状态码和 HTTP 请求头
  • MLNetworkLoggerLogDetalizationHigh - 将记录所有 HTTP 请求头和正文

可选地您可以设置一个请求过滤器

[[MLNetworkLogger sharedLogger] setRequestFilter:[MLHostnameRequestFilter filterWithHostnames:@[@"apple.com"]]];

注意:当前我们只预安装了主机名过滤器,您可以使用它仅记录来自特定主机的网络流量,或使用正则表达式模式匹配。当然,您可以编写自己的过滤器,并通过拉取请求使其对每个人可用。

您可以更改请求的日志格式,当前我们支持常规和 cURL 格式

    [[MLNetworkLogger sharedLogger] setRequestLogFormat:MLNetworkLoggerRequestLogFormatCURL];

我们也支持适配器来记录来自不同网络框架的流量

目前我们只支持 AFNetworking,要记录来自它的流量,请添加以下内容

[[MLNetworkLogger sharedLogger] addAdapter:[MLAFNetworkingAdapter new]];

注意:我们知道 AFNetworking 使用原生的 NSURLSession/NSURLConnection 类来操作请求和响应,但问题是它创建了自己的 NSURLSession 对象,这个对象只能通过 AFNetworking 框架本身进行记录,而不能从任何外部框架中访问。因此,只有当您使用与 AFURLSessionManager API 一起使用的 AFNetworking 时,才需要此选项。

要运行示例项目,克隆仓库,并运行 pod try MLNetworkLogger

要求

  • iOS 7+
  • Xcode 5+

安装

作者

MUSTLab 开发者,[email protected]

许可

MLNetworkLogger 可在 MIT 许可下使用。更多信息请参阅 LICENSE 文件。