         return self
     }
     
-    func logResponse(verbose verbose: Bool = true) -> Self {
+    public func logResponse(level level: LogLevel = .Simple) -> Self {
         response { request, response, data, error in
             guard let response = response else {
                 if let path = request?.URL?.absoluteString, description = error?.localizedDescription {

            return self
        }
        
        if let data = request.HTTPBody, body = NSString(data: data, encoding: NSUTF8StringEncoding) where verbose == true {
            print("\(method) \(path): \"\(body)\"")
        } else {
            print("\(method) \(path)")


extension Request {
    
    public enum LogLevel {
        case Simple
        case Verbose
    }
    
    public func log(level level: LogLevel = .Simple) -> Self {
        return logRequest(level: level).logResponse(level: level)
    }
    
    public func logRequest(level level: LogLevel = .Simple) -> Self {
        guard let request = request else {
            return self
        }
