Rework logging protocol to use autoclosure
This commit is contained in:
parent
dda4a31149
commit
e9296fd65a
@ -153,7 +153,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
// MARK: Methods
|
// MARK: Methods
|
||||||
|
|
||||||
private func addEngine() {
|
private func addEngine() {
|
||||||
DefaultSocketLogger.Logger.log("Adding engine", type: SocketIOClient.logType, args: "")
|
DefaultSocketLogger.Logger.log("Adding engine", type: SocketIOClient.logType)
|
||||||
|
|
||||||
engine?.engineQueue.sync {
|
engine?.engineQueue.sync {
|
||||||
self.engine?.client = nil
|
self.engine?.client = nil
|
||||||
@ -218,7 +218,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
func didDisconnect(reason: String) {
|
func didDisconnect(reason: String) {
|
||||||
guard status != .disconnected else { return }
|
guard status != .disconnected else { return }
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Disconnected: %@", type: SocketIOClient.logType, args: reason)
|
DefaultSocketLogger.Logger.log("Disconnected: \(reason)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
reconnecting = false
|
reconnecting = false
|
||||||
status = .disconnected
|
status = .disconnected
|
||||||
@ -327,7 +327,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
let packet = SocketPacket.packetFromEmit(data, id: ack ?? -1, nsp: nsp, ack: false)
|
let packet = SocketPacket.packetFromEmit(data, id: ack ?? -1, nsp: nsp, ack: false)
|
||||||
let str = packet.packetString
|
let str = packet.packetString
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Emitting: %@", type: SocketIOClient.logType, args: str)
|
DefaultSocketLogger.Logger.log("Emitting: \(str)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
engine?.send(str, withData: packet.binary)
|
engine?.send(str, withData: packet.binary)
|
||||||
}
|
}
|
||||||
@ -339,7 +339,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
let packet = SocketPacket.packetFromEmit(items, id: ack, nsp: nsp, ack: true)
|
let packet = SocketPacket.packetFromEmit(items, id: ack, nsp: nsp, ack: true)
|
||||||
let str = packet.packetString
|
let str = packet.packetString
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Emitting Ack: %@", type: SocketIOClient.logType, args: str)
|
DefaultSocketLogger.Logger.log("Emitting Ack: \(str)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
engine?.send(str, withData: packet.binary)
|
engine?.send(str, withData: packet.binary)
|
||||||
}
|
}
|
||||||
@ -378,7 +378,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func _engineDidError(reason: String) {
|
private func _engineDidError(reason: String) {
|
||||||
DefaultSocketLogger.Logger.error("%@", type: SocketIOClient.logType, args: reason)
|
DefaultSocketLogger.Logger.error("\(reason)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
handleClientEvent(.error, data: [reason])
|
handleClientEvent(.error, data: [reason])
|
||||||
}
|
}
|
||||||
@ -394,7 +394,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
func handleAck(_ ack: Int, data: [Any]) {
|
func handleAck(_ ack: Int, data: [Any]) {
|
||||||
guard status == .connected else { return }
|
guard status == .connected else { return }
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Handling ack: %@ with data: %@", type: SocketIOClient.logType, args: ack, data)
|
DefaultSocketLogger.Logger.log("Handling ack: \(ack) with data: \(data)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
ackHandlers.executeAck(ack, with: data, onQueue: handleQueue)
|
ackHandlers.executeAck(ack, with: data, onQueue: handleQueue)
|
||||||
}
|
}
|
||||||
@ -408,8 +408,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
open func handleEvent(_ event: String, data: [Any], isInternalMessage: Bool, withAck ack: Int = -1) {
|
open func handleEvent(_ event: String, data: [Any], isInternalMessage: Bool, withAck ack: Int = -1) {
|
||||||
guard status == .connected || isInternalMessage else { return }
|
guard status == .connected || isInternalMessage else { return }
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Handling event: %@ with data: %@", type: SocketIOClient.logType,
|
DefaultSocketLogger.Logger.log("Handling event: \(event) with data: \(data)", type: SocketIOClient.logType)
|
||||||
args: event, data)
|
|
||||||
|
|
||||||
anyHandler?(SocketAnyEvent(event: event, items: data))
|
anyHandler?(SocketAnyEvent(event: event, items: data))
|
||||||
|
|
||||||
@ -459,7 +458,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
///
|
///
|
||||||
/// - parameter event: The event to remove handlers for.
|
/// - parameter event: The event to remove handlers for.
|
||||||
open func off(_ event: String) {
|
open func off(_ event: String) {
|
||||||
DefaultSocketLogger.Logger.log("Removing handler for event: %@", type: SocketIOClient.logType, args: event)
|
DefaultSocketLogger.Logger.log("Removing handler for event: \(event)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
handlers = handlers.filter({ $0.event != event })
|
handlers = handlers.filter({ $0.event != event })
|
||||||
}
|
}
|
||||||
@ -470,7 +469,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
///
|
///
|
||||||
/// - parameter id: The UUID of the handler you wish to remove.
|
/// - parameter id: The UUID of the handler you wish to remove.
|
||||||
open func off(id: UUID) {
|
open func off(id: UUID) {
|
||||||
DefaultSocketLogger.Logger.log("Removing handler with id: %@", type: SocketIOClient.logType, args: id)
|
DefaultSocketLogger.Logger.log("Removing handler with id: \(id)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
handlers = handlers.filter({ $0.id != id })
|
handlers = handlers.filter({ $0.id != id })
|
||||||
}
|
}
|
||||||
@ -482,7 +481,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
/// - returns: A unique id for the handler that can be used to remove it.
|
/// - returns: A unique id for the handler that can be used to remove it.
|
||||||
@discardableResult
|
@discardableResult
|
||||||
open func on(_ event: String, callback: @escaping NormalCallback) -> UUID {
|
open func on(_ event: String, callback: @escaping NormalCallback) -> UUID {
|
||||||
DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: SocketIOClient.logType, args: event)
|
DefaultSocketLogger.Logger.log("Adding handler for event: \(event)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
let handler = SocketEventHandler(event: event, id: UUID(), callback: callback)
|
let handler = SocketEventHandler(event: event, id: UUID(), callback: callback)
|
||||||
handlers.append(handler)
|
handlers.append(handler)
|
||||||
@ -505,7 +504,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
/// - returns: A unique id for the handler that can be used to remove it.
|
/// - returns: A unique id for the handler that can be used to remove it.
|
||||||
@discardableResult
|
@discardableResult
|
||||||
open func on(clientEvent event: SocketClientEvent, callback: @escaping NormalCallback) -> UUID {
|
open func on(clientEvent event: SocketClientEvent, callback: @escaping NormalCallback) -> UUID {
|
||||||
DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: SocketIOClient.logType, args: event)
|
DefaultSocketLogger.Logger.log("Adding handler for event: \(event)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
let handler = SocketEventHandler(event: event.rawValue, id: UUID(), callback: callback)
|
let handler = SocketEventHandler(event: event.rawValue, id: UUID(), callback: callback)
|
||||||
handlers.append(handler)
|
handlers.append(handler)
|
||||||
@ -530,7 +529,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
/// - returns: A unique id for the handler that can be used to remove it.
|
/// - returns: A unique id for the handler that can be used to remove it.
|
||||||
@discardableResult
|
@discardableResult
|
||||||
open func once(_ event: String, callback: @escaping NormalCallback) -> UUID {
|
open func once(_ event: String, callback: @escaping NormalCallback) -> UUID {
|
||||||
DefaultSocketLogger.Logger.log("Adding once handler for event: %@", type: SocketIOClient.logType, args: event)
|
DefaultSocketLogger.Logger.log("Adding once handler for event: \(event)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
let id = UUID()
|
let id = UUID()
|
||||||
|
|
||||||
@ -556,7 +555,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
|
|||||||
///
|
///
|
||||||
/// - parameter msg: The message that needs parsing.
|
/// - parameter msg: The message that needs parsing.
|
||||||
public func parseEngineMessage(_ msg: String) {
|
public func parseEngineMessage(_ msg: String) {
|
||||||
DefaultSocketLogger.Logger.log("Should parse message: %@", type: SocketIOClient.logType, args: msg)
|
DefaultSocketLogger.Logger.log("Should parse message: \(msg)", type: SocketIOClient.logType)
|
||||||
|
|
||||||
handleQueue.async { self.parseSocketMessage(msg) }
|
handleQueue.async { self.parseSocketMessage(msg) }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,7 +40,7 @@ protocol SocketIOClientSpec : class {
|
|||||||
|
|
||||||
extension SocketIOClientSpec {
|
extension SocketIOClientSpec {
|
||||||
func didError(reason: String) {
|
func didError(reason: String) {
|
||||||
DefaultSocketLogger.Logger.error("%@", type: "SocketIOClient", args: reason)
|
DefaultSocketLogger.Logger.error("\(reason)", type: "SocketIOClient")
|
||||||
|
|
||||||
handleClientEvent(.error, data: [reason])
|
handleClientEvent(.error, data: [reason])
|
||||||
}
|
}
|
||||||
|
|||||||
@ -255,7 +255,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
|
|||||||
disconnect(reason: "reconnect")
|
disconnect(reason: "reconnect")
|
||||||
}
|
}
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Starting engine. Server: %@", type: SocketEngine.logType, args: url)
|
DefaultSocketLogger.Logger.log("Starting engine. Server: \(url)", type: SocketEngine.logType)
|
||||||
DefaultSocketLogger.Logger.log("Handshaking", type: SocketEngine.logType)
|
DefaultSocketLogger.Logger.log("Handshaking", type: SocketEngine.logType)
|
||||||
|
|
||||||
resetEngine()
|
resetEngine()
|
||||||
@ -336,7 +336,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
|
|||||||
|
|
||||||
/// Called when an error happens during execution. Causes a disconnection.
|
/// Called when an error happens during execution. Causes a disconnection.
|
||||||
public func didError(reason: String) {
|
public func didError(reason: String) {
|
||||||
DefaultSocketLogger.Logger.error("%@", type: SocketEngine.logType, args: reason)
|
DefaultSocketLogger.Logger.error("\(reason)", type: SocketEngine.logType)
|
||||||
client?.engineDidError(reason: reason)
|
client?.engineDidError(reason: reason)
|
||||||
disconnect(reason: reason)
|
disconnect(reason: reason)
|
||||||
}
|
}
|
||||||
@ -490,7 +490,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
|
|||||||
///
|
///
|
||||||
/// - parameter data: The data to parse.
|
/// - parameter data: The data to parse.
|
||||||
public func parseEngineData(_ data: Data) {
|
public func parseEngineData(_ data: Data) {
|
||||||
DefaultSocketLogger.Logger.log("Got binary data: %@", type: SocketEngine.logType, args: data)
|
DefaultSocketLogger.Logger.log("Got binary data: \(data)", type: SocketEngine.logType)
|
||||||
|
|
||||||
client?.parseEngineBinaryData(data.subdata(in: 1..<data.endIndex))
|
client?.parseEngineBinaryData(data.subdata(in: 1..<data.endIndex))
|
||||||
}
|
}
|
||||||
@ -501,7 +501,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
|
|||||||
/// - parameter fromPolling: Whether this message is from long-polling.
|
/// - parameter fromPolling: Whether this message is from long-polling.
|
||||||
/// If `true` we might have to fix utf8 encoding.
|
/// If `true` we might have to fix utf8 encoding.
|
||||||
public func parseEngineMessage(_ message: String) {
|
public func parseEngineMessage(_ message: String) {
|
||||||
DefaultSocketLogger.Logger.log("Got message: %@", type: SocketEngine.logType, args: message)
|
DefaultSocketLogger.Logger.log("Got message: \(message)", type: SocketEngine.logType)
|
||||||
|
|
||||||
let reader = SocketStringReader(message: message)
|
let reader = SocketStringReader(message: message)
|
||||||
|
|
||||||
@ -588,12 +588,12 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
|
|||||||
guard self.connected else { return }
|
guard self.connected else { return }
|
||||||
|
|
||||||
if self.websocket {
|
if self.websocket {
|
||||||
DefaultSocketLogger.Logger.log("Writing ws: %@ has data: %@",
|
DefaultSocketLogger.Logger.log("Writing ws: \(msg) has data: \(data.count != 0)",
|
||||||
type: SocketEngine.logType, args: msg, data.count != 0)
|
type: SocketEngine.logType)
|
||||||
self.sendWebSocketMessage(msg, withType: type, withData: data)
|
self.sendWebSocketMessage(msg, withType: type, withData: data)
|
||||||
} else if !self.probing {
|
} else if !self.probing {
|
||||||
DefaultSocketLogger.Logger.log("Writing poll: %@ has data: %@",
|
DefaultSocketLogger.Logger.log("Writing poll: \(msg) has data: \(data.count != 0)",
|
||||||
type: SocketEngine.logType, args: msg, data.count != 0)
|
type: SocketEngine.logType)
|
||||||
self.sendPollMessage(msg, withType: type, withData: data)
|
self.sendPollMessage(msg, withType: type, withData: data)
|
||||||
} else {
|
} else {
|
||||||
self.probeWait.append((msg, type, data))
|
self.probeWait.append((msg, type, data))
|
||||||
|
|||||||
@ -80,7 +80,7 @@ extension SocketEnginePollable {
|
|||||||
postStr += "\(packet.utf16.count):\(packet)"
|
postStr += "\(packet.utf16.count):\(packet)"
|
||||||
}
|
}
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Created POST string: %@", type: "SocketEnginePolling", args: postStr)
|
DefaultSocketLogger.Logger.log("Created POST string: \(postStr)", type: "SocketEnginePolling")
|
||||||
|
|
||||||
var req = URLRequest(url: urlPollingWithSid)
|
var req = URLRequest(url: urlPollingWithSid)
|
||||||
let postData = postStr.data(using: .utf8, allowLossyConversion: false)!
|
let postData = postStr.data(using: .utf8, allowLossyConversion: false)!
|
||||||
@ -110,8 +110,7 @@ extension SocketEnginePollable {
|
|||||||
func doRequest(for req: URLRequest, callbackWith callback: @escaping (Data?, URLResponse?, Error?) -> ()) {
|
func doRequest(for req: URLRequest, callbackWith callback: @escaping (Data?, URLResponse?, Error?) -> ()) {
|
||||||
guard polling && !closed && !invalidated && !fastUpgrade else { return }
|
guard polling && !closed && !invalidated && !fastUpgrade else { return }
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Doing polling %@ %@", type: "SocketEnginePolling",
|
DefaultSocketLogger.Logger.log("Doing polling \(req.httpMethod ?? "") \(req)", type: "SocketEnginePolling")
|
||||||
args: req.httpMethod ?? "", req)
|
|
||||||
|
|
||||||
session?.dataTask(with: req, completionHandler: callback).resume()
|
session?.dataTask(with: req, completionHandler: callback).resume()
|
||||||
}
|
}
|
||||||
@ -187,7 +186,7 @@ extension SocketEnginePollable {
|
|||||||
func parsePollingMessage(_ str: String) {
|
func parsePollingMessage(_ str: String) {
|
||||||
guard str.characters.count != 1 else { return }
|
guard str.characters.count != 1 else { return }
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Got poll message: %@", type: "SocketEnginePolling", args: str)
|
DefaultSocketLogger.Logger.log("Got poll message: \(str)", type: "SocketEnginePolling")
|
||||||
|
|
||||||
var reader = SocketStringReader(message: str)
|
var reader = SocketStringReader(message: str)
|
||||||
|
|
||||||
@ -209,7 +208,7 @@ extension SocketEnginePollable {
|
|||||||
/// - parameter withType: The type of message to send.
|
/// - parameter withType: The type of message to send.
|
||||||
/// - parameter withData: The data associated with this message.
|
/// - parameter withData: The data associated with this message.
|
||||||
public func sendPollMessage(_ message: String, withType type: SocketEnginePacketType, withData datas: [Data]) {
|
public func sendPollMessage(_ message: String, withType type: SocketEnginePacketType, withData datas: [Data]) {
|
||||||
DefaultSocketLogger.Logger.log("Sending poll: %@ as type: %@", type: "SocketEnginePolling", args: message, type.rawValue)
|
DefaultSocketLogger.Logger.log("Sending poll: \(message) as type: \(type.rawValue)", type: "SocketEnginePolling")
|
||||||
|
|
||||||
postWait.append(String(type.rawValue) + message)
|
postWait.append(String(type.rawValue) + message)
|
||||||
|
|
||||||
|
|||||||
@ -54,7 +54,7 @@ extension SocketEngineWebsocket {
|
|||||||
/// - parameter withType: The type of message to send.
|
/// - parameter withType: The type of message to send.
|
||||||
/// - parameter withData: The data associated with this message.
|
/// - parameter withData: The data associated with this message.
|
||||||
public func sendWebSocketMessage(_ str: String, withType type: SocketEnginePacketType, withData datas: [Data]) {
|
public func sendWebSocketMessage(_ str: String, withType type: SocketEnginePacketType, withData datas: [Data]) {
|
||||||
DefaultSocketLogger.Logger.log("Sending ws: %@ as type: %@", type: "SocketEngine", args: str, type.rawValue)
|
DefaultSocketLogger.Logger.log("Sending ws: \(str) as type: \(type.rawValue)", type: "SocketEngineWebSocket")
|
||||||
|
|
||||||
ws?.write(string: "\(type.rawValue)\(str)")
|
ws?.write(string: "\(type.rawValue)\(str)")
|
||||||
|
|
||||||
|
|||||||
@ -63,7 +63,7 @@ extension SocketParsable where Self: SocketIOClientSpec {
|
|||||||
case .error:
|
case .error:
|
||||||
handleEvent("error", data: pack.data, isInternalMessage: true, withAck: pack.id)
|
handleEvent("error", data: pack.data, isInternalMessage: true, withAck: pack.id)
|
||||||
default:
|
default:
|
||||||
DefaultSocketLogger.Logger.log("Got invalid packet: %@", type: "SocketParser", args: pack.description)
|
DefaultSocketLogger.Logger.log("Got invalid packet: \(pack.description)", type: "SocketParser")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,16 +137,16 @@ extension SocketParsable where Self: SocketIOClientSpec {
|
|||||||
func parseSocketMessage(_ message: String) {
|
func parseSocketMessage(_ message: String) {
|
||||||
guard !message.isEmpty else { return }
|
guard !message.isEmpty else { return }
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Parsing %@", type: "SocketParser", args: message)
|
DefaultSocketLogger.Logger.log("Parsing \(message)", type: "SocketParser")
|
||||||
|
|
||||||
do {
|
do {
|
||||||
let packet = try parseString(message)
|
let packet = try parseString(message)
|
||||||
|
|
||||||
DefaultSocketLogger.Logger.log("Decoded packet as: %@", type: "SocketParser", args: packet.description)
|
DefaultSocketLogger.Logger.log("Decoded packet as: \(packet.description)", type: "SocketParser")
|
||||||
|
|
||||||
handlePacket(packet)
|
handlePacket(packet)
|
||||||
} catch {
|
} catch {
|
||||||
DefaultSocketLogger.Logger.error("\(error): %@", type: "SocketParser", args: message)
|
DefaultSocketLogger.Logger.error("\(error): \(message)", type: "SocketParser")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -38,34 +38,31 @@ public protocol SocketLogger : class {
|
|||||||
/// - parameter message: The message being logged. Can include `%@` that will be replaced with `args`
|
/// - parameter message: The message being logged. Can include `%@` that will be replaced with `args`
|
||||||
/// - parameter type: The type of entity that called for logging.
|
/// - parameter type: The type of entity that called for logging.
|
||||||
/// - parameter args: Any args that should be inserted into the message. May be left out.
|
/// - parameter args: Any args that should be inserted into the message. May be left out.
|
||||||
func log(_ message: String, type: String, args: Any...)
|
func log(_ message: @autoclosure () -> String, type: String)
|
||||||
|
|
||||||
/// Error Messages
|
/// Error Messages
|
||||||
///
|
///
|
||||||
/// - parameter message: The message being logged. Can include `%@` that will be replaced with `args`
|
/// - parameter message: The message being logged. Can include `%@` that will be replaced with `args`
|
||||||
/// - parameter type: The type of entity that called for logging.
|
/// - parameter type: The type of entity that called for logging.
|
||||||
/// - parameter args: Any args that should be inserted into the message. May be left out.
|
/// - parameter args: Any args that should be inserted into the message. May be left out.
|
||||||
func error(_ message: String, type: String, args: Any...)
|
func error(_ message: @autoclosure () -> String, type: String)
|
||||||
}
|
}
|
||||||
|
|
||||||
public extension SocketLogger {
|
public extension SocketLogger {
|
||||||
/// Default implementation.
|
/// Default implementation.
|
||||||
func log(_ message: String, type: String, args: Any...) {
|
func log(_ message: @autoclosure () -> String, type: String) {
|
||||||
abstractLog("LOG", message: message, type: type, args: args)
|
abstractLog("LOG", message: message, type: type)
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Default implementation.
|
/// Default implementation.
|
||||||
func error(_ message: String, type: String, args: Any...) {
|
func error(_ message: @autoclosure () -> String, type: String) {
|
||||||
abstractLog("ERROR", message: message, type: type, args: args)
|
abstractLog("ERROR", message: message, type: type)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func abstractLog(_ logType: String, message: String, type: String, args: [Any]) {
|
private func abstractLog(_ logType: String, message: @autoclosure () -> String, type: String) {
|
||||||
guard log else { return }
|
guard log else { return }
|
||||||
|
|
||||||
let newArgs = args.map({arg -> CVarArg in String(describing: arg)})
|
NSLog("\(logType) \(type): %@", message())
|
||||||
let messageFormat = String(format: message, arguments: newArgs)
|
|
||||||
|
|
||||||
NSLog("\(logType) \(type): %@", messageFormat)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user