 }
 
 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) {
+    static func reversedPrint(seperator: String, terminator: String, items: Any...) {
         print(items, separator: seperator, terminator: terminator)
     }
 }

    fileprivate let separator = ", "
    fileprivate let terminator = "\n"
    fileprivate let cURLTerminator = "\\\n"
    fileprivate let output: (_ items: [Any], _ separator: String, _ terminator: String) -> 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) {
        self.cURL = cURL
        self.verbose = verbose
        self.output = output


    public func willSendRequest(_ request: RequestType, target: TargetType) {
        if let request = request as? CustomDebugStringConvertible, cURL {
            output(separator, terminator, request.debugDescription)
            return
        }
        outputItems(logNetworkRequest(request.request as URLRequest?))
