Make log types static

This commit is contained in:
Erik Little 2017-09-06 20:38:51 -04:00
parent eef5fd987d
commit 3eb7edc37c
No known key found for this signature in database
GPG Key ID: 4930B7C5FBC1A69D
2 changed files with 44 additions and 40 deletions

View File

@ -33,6 +33,8 @@ import Foundation
open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, SocketParsable { open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, SocketParsable {
// MARK: Properties // MARK: Properties
private static let logType = "SocketIOClient"
/// The engine for this client. /// The engine for this client.
public private(set) var engine: SocketEngineSpec? public private(set) var engine: SocketEngineSpec?
@ -87,8 +89,6 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
private(set) var currentAck = -1 private(set) var currentAck = -1
private(set) var reconnectAttempts = -1 private(set) var reconnectAttempts = -1
private let logType = "SocketIOClient"
private var anyHandler: ((SocketAnyEvent) -> ())? private var anyHandler: ((SocketAnyEvent) -> ())?
private var currentReconnectAttempt = 0 private var currentReconnectAttempt = 0
private var handlers = [SocketEventHandler]() private var handlers = [SocketEventHandler]()
@ -146,14 +146,14 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
} }
deinit { deinit {
DefaultSocketLogger.Logger.log("Client is being released", type: logType) DefaultSocketLogger.Logger.log("Client is being released", type: SocketIOClient.logType)
engine?.disconnect(reason: "Client Deinit") engine?.disconnect(reason: "Client Deinit")
} }
// MARK: Methods // MARK: Methods
private func addEngine() { private func addEngine() {
DefaultSocketLogger.Logger.log("Adding engine", type: logType, args: "") DefaultSocketLogger.Logger.log("Adding engine", type: SocketIOClient.logType, args: "")
engine?.engineQueue.sync { engine?.engineQueue.sync {
self.engine?.client = nil self.engine?.client = nil
@ -176,7 +176,8 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
assert(timeoutAfter >= 0, "Invalid timeout: \(timeoutAfter)") assert(timeoutAfter >= 0, "Invalid timeout: \(timeoutAfter)")
guard status != .connected else { guard status != .connected else {
DefaultSocketLogger.Logger.log("Tried connecting on an already connected socket", type: logType) DefaultSocketLogger.Logger.log("Tried connecting on an already connected socket",
type: SocketIOClient.logType)
return return
} }
@ -207,7 +208,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
} }
func didConnect(toNamespace namespace: String) { func didConnect(toNamespace namespace: String) {
DefaultSocketLogger.Logger.log("Socket connected", type: logType) DefaultSocketLogger.Logger.log("Socket connected", type: SocketIOClient.logType)
status = .connected status = .connected
@ -217,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: logType, args: reason) DefaultSocketLogger.Logger.log("Disconnected: %@", type: SocketIOClient.logType, args: reason)
reconnecting = false reconnecting = false
status = .disconnected status = .disconnected
@ -229,7 +230,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
/// Disconnects the socket. /// Disconnects the socket.
open func disconnect() { open func disconnect() {
DefaultSocketLogger.Logger.log("Closing socket", type: logType) DefaultSocketLogger.Logger.log("Closing socket", type: SocketIOClient.logType)
didDisconnect(reason: "Disconnect") didDisconnect(reason: "Disconnect")
} }
@ -246,7 +247,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
try emit(event, with: items.map({ try $0.socketRepresentation() })) try emit(event, with: items.map({ try $0.socketRepresentation() }))
} catch let err { } catch let err {
DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)",
type: logType) type: SocketIOClient.logType)
handleClientEvent(.error, data: [event, items, err]) handleClientEvent(.error, data: [event, items, err])
} }
@ -289,7 +290,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
return emitWithAck(event, with: try items.map({ try $0.socketRepresentation() })) return emitWithAck(event, with: try items.map({ try $0.socketRepresentation() }))
} catch let err { } catch let err {
DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)", DefaultSocketLogger.Logger.error("Error creating socketRepresentation for emit: \(event), \(items)",
type: logType) type: SocketIOClient.logType)
handleClientEvent(.error, data: [event, items, err]) handleClientEvent(.error, data: [event, items, err])
@ -326,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: logType, args: str) DefaultSocketLogger.Logger.log("Emitting: %@", type: SocketIOClient.logType, args: str)
engine?.send(str, withData: packet.binary) engine?.send(str, withData: packet.binary)
} }
@ -338,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: logType, args: str) DefaultSocketLogger.Logger.log("Emitting Ack: %@", type: SocketIOClient.logType, args: str)
engine?.send(str, withData: packet.binary) engine?.send(str, withData: packet.binary)
} }
@ -377,7 +378,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
} }
private func _engineDidError(reason: String) { private func _engineDidError(reason: String) {
DefaultSocketLogger.Logger.error("%@", type: logType, args: reason) DefaultSocketLogger.Logger.error("%@", type: SocketIOClient.logType, args: reason)
handleClientEvent(.error, data: [reason]) handleClientEvent(.error, data: [reason])
} }
@ -386,14 +387,14 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
/// ///
/// - parameter reason: The reason the engine opened. /// - parameter reason: The reason the engine opened.
open func engineDidOpen(reason: String) { open func engineDidOpen(reason: String) {
DefaultSocketLogger.Logger.log(reason, type: "SocketEngineClient") DefaultSocketLogger.Logger.log(reason, type: SocketIOClient.logType)
} }
// Called when the socket gets an ack for something it sent // Called when the socket gets an ack for something it sent
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: logType, args: ack, data) DefaultSocketLogger.Logger.log("Handling ack: %@ with data: %@", type: SocketIOClient.logType, args: ack, data)
ackHandlers.executeAck(ack, with: data, onQueue: handleQueue) ackHandlers.executeAck(ack, with: data, onQueue: handleQueue)
} }
@ -407,7 +408,8 @@ 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: logType, args: event, data) DefaultSocketLogger.Logger.log("Handling event: %@ with data: %@", type: SocketIOClient.logType,
args: event, data)
anyHandler?(SocketAnyEvent(event: event, items: data)) anyHandler?(SocketAnyEvent(event: event, items: data))
@ -437,7 +439,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
nsp = namespace nsp = namespace
if nsp != "/" { if nsp != "/" {
DefaultSocketLogger.Logger.log("Joining namespace", type: logType) DefaultSocketLogger.Logger.log("Joining namespace", type: SocketIOClient.logType)
engine?.send("0\(nsp)", withData: []) engine?.send("0\(nsp)", withData: [])
} }
} }
@ -457,7 +459,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: logType, args: event) DefaultSocketLogger.Logger.log("Removing handler for event: %@", type: SocketIOClient.logType, args: event)
handlers = handlers.filter({ $0.event != event }) handlers = handlers.filter({ $0.event != event })
} }
@ -468,7 +470,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: logType, args: id) DefaultSocketLogger.Logger.log("Removing handler with id: %@", type: SocketIOClient.logType, args: id)
handlers = handlers.filter({ $0.id != id }) handlers = handlers.filter({ $0.id != id })
} }
@ -480,7 +482,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: logType, args: event) DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: SocketIOClient.logType, args: event)
let handler = SocketEventHandler(event: event, id: UUID(), callback: callback) let handler = SocketEventHandler(event: event, id: UUID(), callback: callback)
handlers.append(handler) handlers.append(handler)
@ -503,7 +505,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: logType, args: event) DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: SocketIOClient.logType, args: event)
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)
@ -528,7 +530,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: logType, args: event) DefaultSocketLogger.Logger.log("Adding once handler for event: %@", type: SocketIOClient.logType, args: event)
let id = UUID() let id = UUID()
@ -554,7 +556,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", args: msg) DefaultSocketLogger.Logger.log("Should parse message: %@", type: SocketIOClient.logType, args: msg)
handleQueue.async { self.parseSocketMessage(msg) } handleQueue.async { self.parseSocketMessage(msg) }
} }
@ -584,7 +586,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
private func tryReconnect(reason: String) { private func tryReconnect(reason: String) {
guard reconnecting else { return } guard reconnecting else { return }
DefaultSocketLogger.Logger.log("Starting reconnect", type: logType) DefaultSocketLogger.Logger.log("Starting reconnect", type: SocketIOClient.logType)
handleClientEvent(.reconnect, data: [reason]) handleClientEvent(.reconnect, data: [reason])
_tryReconnect() _tryReconnect()
@ -597,7 +599,7 @@ open class SocketIOClient : NSObject, SocketIOClientSpec, SocketEngineClient, So
return didDisconnect(reason: "Reconnect Failed") return didDisconnect(reason: "Reconnect Failed")
} }
DefaultSocketLogger.Logger.log("Trying to reconnect", type: logType) DefaultSocketLogger.Logger.log("Trying to reconnect", type: SocketIOClient.logType)
handleClientEvent(.reconnectAttempt, data: [(reconnectAttempts - currentReconnectAttempt)]) handleClientEvent(.reconnectAttempt, data: [(reconnectAttempts - currentReconnectAttempt)])
currentReconnectAttempt += 1 currentReconnectAttempt += 1

View File

@ -31,6 +31,8 @@ import StarscreamSocketIO
public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, SocketEngineWebsocket { public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePollable, SocketEngineWebsocket {
// MARK: Properties // MARK: Properties
private static let logType = "SocketEngine"
/// The queue that all engine actions take place on. /// The queue that all engine actions take place on.
public let engineQueue = DispatchQueue(label: "com.socketio.engineHandleQueue") public let engineQueue = DispatchQueue(label: "com.socketio.engineHandleQueue")
@ -119,7 +121,6 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
private weak var sessionDelegate: URLSessionDelegate? private weak var sessionDelegate: URLSessionDelegate?
private let logType = "SocketEngine"
private let url: URL private let url: URL
private var pingInterval: Double? private var pingInterval: Double?
@ -196,7 +197,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
} }
deinit { deinit {
DefaultSocketLogger.Logger.log("Engine is being released", type: logType) DefaultSocketLogger.Logger.log("Engine is being released", type: SocketEngine.logType)
closed = true closed = true
stopPolling() stopPolling()
} }
@ -249,12 +250,13 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
private func _connect() { private func _connect() {
if connected { if connected {
DefaultSocketLogger.Logger.error("Engine tried opening while connected. Assuming this was a reconnect", type: logType) DefaultSocketLogger.Logger.error("Engine tried opening while connected. Assuming this was a reconnect",
type: SocketEngine.logType)
disconnect(reason: "reconnect") disconnect(reason: "reconnect")
} }
DefaultSocketLogger.Logger.log("Starting engine. Server: %@", type: logType, args: url) DefaultSocketLogger.Logger.log("Starting engine. Server: %@", type: SocketEngine.logType, args: url)
DefaultSocketLogger.Logger.log("Handshaking", type: logType) DefaultSocketLogger.Logger.log("Handshaking", type: SocketEngine.logType)
resetEngine() resetEngine()
@ -344,7 +346,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: logType, args: reason) DefaultSocketLogger.Logger.error("%@", type: SocketEngine.logType, args: reason)
client?.engineDidError(reason: reason) client?.engineDidError(reason: reason)
disconnect(reason: reason) disconnect(reason: reason)
} }
@ -361,7 +363,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
private func _disconnect(reason: String) { private func _disconnect(reason: String) {
guard connected else { return closeOutEngine(reason: reason) } guard connected else { return closeOutEngine(reason: reason) }
DefaultSocketLogger.Logger.log("Engine is being closed.", type: logType) DefaultSocketLogger.Logger.log("Engine is being closed.", type: SocketEngine.logType)
if closed { if closed {
return closeOutEngine(reason: reason) return closeOutEngine(reason: reason)
@ -391,7 +393,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
public func doFastUpgrade() { public func doFastUpgrade() {
if waitingForPoll { if waitingForPoll {
DefaultSocketLogger.Logger.error("Outstanding poll when switched to WebSockets," + DefaultSocketLogger.Logger.error("Outstanding poll when switched to WebSockets," +
"we'll probably disconnect soon. You should report this.", type: logType) "we'll probably disconnect soon. You should report this.", type: SocketEngine.logType)
} }
sendWebSocketMessage("", withType: .upgrade, withData: []) sendWebSocketMessage("", withType: .upgrade, withData: [])
@ -403,7 +405,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
} }
private func flushProbeWait() { private func flushProbeWait() {
DefaultSocketLogger.Logger.log("Flushing probe wait", type: logType) DefaultSocketLogger.Logger.log("Flushing probe wait", type: SocketEngine.logType)
for waiter in probeWait { for waiter in probeWait {
write(waiter.msg, withType: waiter.type, withData: waiter.data) write(waiter.msg, withType: waiter.type, withData: waiter.data)
@ -498,7 +500,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", args: data) DefaultSocketLogger.Logger.log("Got binary data: %@", type: SocketEngine.logType, args: data)
client?.parseEngineBinaryData(data.subdata(in: 1..<data.endIndex)) client?.parseEngineBinaryData(data.subdata(in: 1..<data.endIndex))
} }
@ -509,7 +511,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: logType, args: message) DefaultSocketLogger.Logger.log("Got message: %@", type: SocketEngine.logType, args: message)
let reader = SocketStringReader(message: message) let reader = SocketStringReader(message: message)
@ -535,7 +537,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
case .close: case .close:
handleClose(message) handleClose(message)
default: default:
DefaultSocketLogger.Logger.log("Got unknown packet type", type: logType) DefaultSocketLogger.Logger.log("Got unknown packet type", type: SocketEngine.logType)
} }
} }
@ -578,7 +580,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
// Moves from long-polling to websockets // Moves from long-polling to websockets
private func upgradeTransport() { private func upgradeTransport() {
if ws?.isConnected ?? false { if ws?.isConnected ?? false {
DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: logType) DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: SocketEngine.logType)
fastUpgrade = true fastUpgrade = true
sendPollMessage("", withType: .noop, withData: []) sendPollMessage("", withType: .noop, withData: [])
@ -597,11 +599,11 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll
if self.websocket { if self.websocket {
DefaultSocketLogger.Logger.log("Writing ws: %@ has data: %@", DefaultSocketLogger.Logger.log("Writing ws: %@ has data: %@",
type: self.logType, args: msg, data.count != 0) type: SocketEngine.logType, args: msg, data.count != 0)
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: %@ has data: %@",
type: self.logType, args: msg, data.count != 0) type: SocketEngine.logType, args: msg, data.count != 0)
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))