     fileprivate let separator = ", "
     fileprivate let terminator = "\n"
     fileprivate let cURLTerminator = "\\\n"
-    fileprivate let output: (_ items: [Any], _ separator: String, _ terminator: String) -> Void
+    fileprivate let output: (_ seperator: String, _ terminator: String, _ items: Any...) -> Void
     fileprivate let responseDataFormatter: ((Data) -> (Data))?
 
     /// If true, also logs response body data.
     public let verbose: Bool
     public let cURL: Bool
 
-    public init(verbose: Bool = false, cURL: Bool = false, output: @escaping (_ items: [Any], _ separator: String, _ terminator: String) -> Void = NetworkLoggerPlugin.printArray, responseDataFormatter: ((Data) -> (Data))? = nil) {
+    public init(verbose: Bool = false, cURL: Bool = false, output: @escaping (_ seperator: String, _ terminator: String, _ items: Any...) -> Void = NetworkLoggerPlugin.reversedPrint, responseDataFormatter: ((Data) -> (Data))? = nil) {
         self.cURL = cURL
         self.verbose = verbose
         self.output = output

}

fileprivate extension NetworkLoggerPlugin {
    // warning: This may potentially Swift.print an array literal ([]) around the items. This function is ripe for refactoring.
    // for more information look at https://github.com/Moya/Moya/pull/608#issuecomment-245784660
    static func printArray(items: [Any], seperator: String, terminator: String) {
        print(items, separator: seperator, terminator: terminator)
    }
}


    fileprivate func outputItems(_ items: [String]) {
        if verbose {
            items.forEach { output(separator, terminator, $0) }
        } else {
            output(separator, terminator, items)
        }
    }
}
