为 iOS 或 OSX 自动记录 Swift 网络活动。
Timberjack 是一个简单、不影响性能的网络活动记录器。记录您应用发出的每一个请求,或限制为仅使用特定的 NSURLSession
的请求。它还可以与 Alamofire 一起使用。
注意,Timberjack 使用 Swift 2.0 编写,因此您需要 Xcode7 来构建。如果您使用的是 Swift 1.2,swift-1.2 分支上有兼容版本
NSURLSession
、NSURLConnection
、Alamofire
和几乎所有网络框架兼容JSON
响应Timberjack 作为嵌入框架安装,因此需要至少 iOS8。如果您需要 iOS7 兼容性,只需将 Timberjack.swift
文件拖动到您自己的项目中即可。
相当简单,只需在您的应用加载时进行注册,Timberjack 就会监控和记录您通过 NSURLSession
或 NSURLConnection
发出的任何请求。
import UIKit
import Timberjack
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Timberjack.register() //Register Timberjack to log all requests
return true
}
}
由于 Alamofire 对 NSURLSession 的使用方式,您需要执行标准的安装过程以上,以监控所有请求。最简单的方法是创建一个 Manager
的子类来处理您的请求,然后只需使用此子类代替 Alamofire.request()
。
import Alamofire
import Timberjack
class HTTPManager: Alamofire.Manager {
static let sharedManager: HTTPManager = {
let configuration = Timberjack.defaultSessionConfiguration()
let manager = HTTPManager(configuration: configuration)
return manager
}()
}
Timberjack 有两种模式:详细和轻量。默认样式是 详细
。要更改此设置,只需适当地设置即可。
Timberjack.logStyle = .Verbose //Either .Verbose, or .Light
MIT,查看 LICENSE 获取详细信息。
在此处打开问题,或在 Twitter 上联系我。更好的是,在此存储库上进行分支,并打开 pull-request!
不幸的是,由于 NSURLProtocol
的限制,Timberjack 无法记录请求的 HTTP 主体,更多信息请参阅 此 radar
由 @andyjsmart 构建