 			return
 		}
 		
-		tasksStartDates[task] = Date()
+		startDates[task] = Date()
 		
 		switch level {
 		case .debug:
-			print("\(httpMethod) '\(requestURL.absoluteString)'")
+			print("\(httpMethod) '\(requestURL.absoluteString)':")
 			
 			if let httpHeadersFields = request.allHTTPHeaderFields {
 				for (key, value) in httpHeadersFields {

	/// Omit requests which match the specified predicate, if provided.
	public var filterPredicate: NSPredicate?
	
	private var tasksStartDates: [URLSessionTask: Date]
	
	// MARK: - Internal - Initialization
	
	init() {
		level = .info
		tasksStartDates = [URLSessionTask: Date]()
	}
	
	deinit {

			     .info,
			     .warn,
			     .error:
				print("[Error] \(httpMethod) '\(requestURL.absoluteString)' [\(String(format: "%.04f", elapsedTime)) s]:")
				print(error)
			default:
				break
			}
		} else {
			guard let response = task.response as? HTTPURLResponse else {
				return
			}
			
			switch level {
			case .debug:
				print("\(String(response.statusCode)) '\(requestURL.absoluteString)' [\(String(format: "%.04f", elapsedTime)) s]:")
				
				for (key, value) in response.allHeaderFields {
					print("\(key): \(value)")
				}
			case .info:
				print("\(String(response.statusCode)) '\(requestURL.absoluteString)' [\(String(format: "%.04f", elapsedTime)) s]")
			default:
				break
			}
