move Logger to static variable
This commit is contained in:
parent
fe21fcc7e1
commit
0de8a65ff4
@ -116,7 +116,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
}
|
||||
|
||||
deinit {
|
||||
Logger.log("Engine is being deinit", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Engine is being deinit", type: logType)
|
||||
closed = true
|
||||
stopPolling()
|
||||
}
|
||||
@ -135,7 +135,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
}
|
||||
|
||||
public func close() {
|
||||
Logger.log("Engine is being closed.", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Engine is being closed.", type: logType)
|
||||
|
||||
pingTimer?.invalidate()
|
||||
closed = true
|
||||
@ -234,7 +234,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
|
||||
private func doFastUpgrade() {
|
||||
if waitingForPoll {
|
||||
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)
|
||||
}
|
||||
|
||||
@ -247,7 +247,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
}
|
||||
|
||||
private func flushProbeWait() {
|
||||
Logger.log("Flushing probe wait", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Flushing probe wait", type: logType)
|
||||
|
||||
dispatch_async(emitQueue) {[weak self] in
|
||||
if let this = self {
|
||||
@ -305,7 +305,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
}
|
||||
}
|
||||
} catch {
|
||||
Logger.error("Error parsing open packet", type: logType)
|
||||
DefaultSocketLogger.Logger.error("Error parsing open packet", type: logType)
|
||||
return
|
||||
}
|
||||
|
||||
@ -341,14 +341,14 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
|
||||
public func open(opts: [String: AnyObject]? = nil) {
|
||||
if connected {
|
||||
Logger.error("Tried to open while connected", type: logType)
|
||||
DefaultSocketLogger.Logger.error("Tried to open while connected", type: logType)
|
||||
client?.didError("Tried to open while connected")
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
Logger.log("Starting engine", type: logType)
|
||||
Logger.log("Handshaking", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Starting engine", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Handshaking", type: logType)
|
||||
|
||||
closed = false
|
||||
|
||||
@ -378,12 +378,12 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
}
|
||||
|
||||
private func parseEngineData(data: NSData) {
|
||||
Logger.log("Got binary data: %@", type: "SocketEngine", args: data)
|
||||
DefaultSocketLogger.Logger.log("Got binary data: %@", type: "SocketEngine", args: data)
|
||||
client?.parseBinaryData(data.subdataWithRange(NSMakeRange(1, data.length - 1)))
|
||||
}
|
||||
|
||||
private func parseEngineMessage(var message: String, fromPolling: Bool) {
|
||||
Logger.log("Got message: %@", type: logType, args: message)
|
||||
DefaultSocketLogger.Logger.log("Got message: %@", type: logType, args: message)
|
||||
|
||||
let type = SocketEnginePacketType(rawValue: Int((message["^(\\d)"].groups()?[1]) ?? "") ?? -1) ?? {
|
||||
self.checkIfMessageIsBase64Binary(message)
|
||||
@ -408,7 +408,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
case .Close:
|
||||
handleClose()
|
||||
default:
|
||||
Logger.log("Got unknown packet type", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Got unknown packet type", type: logType)
|
||||
}
|
||||
}
|
||||
|
||||
@ -454,7 +454,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
|
||||
private func upgradeTransport() {
|
||||
if websocketConnected {
|
||||
Logger.log("Upgrading transport to WebSockets", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Upgrading transport to WebSockets", type: logType)
|
||||
|
||||
fastUpgrade = true
|
||||
sendPollMessage("", withType: .Noop)
|
||||
@ -469,11 +469,11 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
|
||||
dispatch_async(emitQueue) {
|
||||
if self.connected {
|
||||
if self.websocket {
|
||||
Logger.log("Writing ws: %@ has data: %@", type: self.logType, args: msg,
|
||||
DefaultSocketLogger.Logger.log("Writing ws: %@ has data: %@", type: self.logType, args: msg,
|
||||
data == nil ? false : true)
|
||||
self.sendWebSocketMessage(msg, withType: type, datas: data)
|
||||
} else {
|
||||
Logger.log("Writing poll: %@ has data: %@", type: self.logType, args: msg,
|
||||
DefaultSocketLogger.Logger.log("Writing poll: %@ has data: %@", type: self.logType, args: msg,
|
||||
data == nil ? false : true)
|
||||
self.sendPollMessage(msg, withType: type, datas: data)
|
||||
}
|
||||
@ -512,7 +512,7 @@ extension SocketEngine {
|
||||
return
|
||||
}
|
||||
|
||||
Logger.log("Doing polling request", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Doing polling request", type: logType)
|
||||
|
||||
req.cachePolicy = .ReloadIgnoringLocalAndRemoteCacheData
|
||||
session.dataTaskWithRequest(req, completionHandler: callback).resume()
|
||||
@ -525,12 +525,12 @@ extension SocketEngine {
|
||||
if this.polling {
|
||||
this.handlePollingFailed(err?.localizedDescription ?? "Error")
|
||||
} else {
|
||||
Logger.error(err?.localizedDescription ?? "Error", type: this.logType)
|
||||
DefaultSocketLogger.Logger.error(err?.localizedDescription ?? "Error", type: this.logType)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Logger.log("Got polling response", type: this.logType)
|
||||
DefaultSocketLogger.Logger.log("Got polling response", type: this.logType)
|
||||
|
||||
if let str = NSString(data: data!, encoding: NSUTF8StringEncoding) as? String {
|
||||
dispatch_async(this.parseQueue) {[weak this] in
|
||||
@ -585,7 +585,7 @@ extension SocketEngine {
|
||||
|
||||
waitingForPost = true
|
||||
|
||||
Logger.log("POSTing: %@", type: logType, args: postStr)
|
||||
DefaultSocketLogger.Logger.log("POSTing: %@", type: logType, args: postStr)
|
||||
|
||||
doRequest(req) {[weak self] data, res, err in
|
||||
if let this = self {
|
||||
@ -593,7 +593,7 @@ extension SocketEngine {
|
||||
this.handlePollingFailed(err?.localizedDescription ?? "Error")
|
||||
return
|
||||
} else if err != nil {
|
||||
Logger.error(err?.localizedDescription ?? "Error", type: this.logType)
|
||||
DefaultSocketLogger.Logger.error(err?.localizedDescription ?? "Error", type: this.logType)
|
||||
return
|
||||
}
|
||||
|
||||
@ -648,7 +648,7 @@ extension SocketEngine {
|
||||
/// Only call on emitQueue
|
||||
private func sendPollMessage(var msg: String, withType type: SocketEnginePacketType,
|
||||
datas:[NSData]? = nil) {
|
||||
Logger.log("Sending poll: %@ as type: %@", type: logType, args: msg, type.rawValue)
|
||||
DefaultSocketLogger.Logger.log("Sending poll: %@ as type: %@", type: logType, args: msg, type.rawValue)
|
||||
|
||||
doubleEncodeUTF8(&msg)
|
||||
let strMsg = "\(type.rawValue)\(msg)"
|
||||
@ -678,7 +678,7 @@ extension SocketEngine {
|
||||
/// Only call on emitQueue
|
||||
private func sendWebSocketMessage(str: String, withType type: SocketEnginePacketType,
|
||||
datas:[NSData]? = nil) {
|
||||
Logger.log("Sending ws: %@ as type: %@", type: logType, args: str, type.rawValue)
|
||||
DefaultSocketLogger.Logger.log("Sending ws: %@ as type: %@", type: logType, args: str, type.rawValue)
|
||||
|
||||
ws?.writeString("\(type.rawValue)\(str)")
|
||||
|
||||
|
||||
@ -84,9 +84,9 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
case .Nsp(let nsp):
|
||||
self.nsp = nsp
|
||||
case .Log(let log):
|
||||
Logger.log = log
|
||||
DefaultSocketLogger.Logger.log = log
|
||||
case .Logger(let logger):
|
||||
Logger = logger
|
||||
DefaultSocketLogger.Logger = logger
|
||||
case .HandleQueue(let queue):
|
||||
handleQueue = queue
|
||||
default:
|
||||
@ -109,12 +109,12 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
}
|
||||
|
||||
deinit {
|
||||
Logger.log("Client is being deinit", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Client is being deinit", type: logType)
|
||||
engine?.close()
|
||||
}
|
||||
|
||||
private func addEngine() -> SocketEngine {
|
||||
Logger.log("Adding engine", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Adding engine", type: logType)
|
||||
|
||||
let newEngine = SocketEngine(client: self, url: socketURL, options: options ?? [])
|
||||
|
||||
@ -133,7 +133,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
Pass true to fast if you're closing from a background task
|
||||
*/
|
||||
public func close() {
|
||||
Logger.log("Closing socket", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Closing socket", type: logType)
|
||||
|
||||
reconnects = false
|
||||
didDisconnect("Closed")
|
||||
@ -158,7 +158,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
}
|
||||
|
||||
if status == .Closed {
|
||||
Logger.log("Warning! This socket was previously closed. This might be dangerous!",
|
||||
DefaultSocketLogger.Logger.log("Warning! This socket was previously closed. This might be dangerous!",
|
||||
type: logType)
|
||||
}
|
||||
|
||||
@ -202,7 +202,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
}
|
||||
|
||||
func didConnect() {
|
||||
Logger.log("Socket connected", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Socket connected", type: logType)
|
||||
status = .Connected
|
||||
currentReconnectAttempt = 0
|
||||
clearReconnectTimer()
|
||||
@ -217,7 +217,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
return
|
||||
}
|
||||
|
||||
Logger.log("Disconnected: %@", type: logType, args: reason)
|
||||
DefaultSocketLogger.Logger.log("Disconnected: %@", type: logType, args: reason)
|
||||
|
||||
status = .Closed
|
||||
reconnects = false
|
||||
@ -229,7 +229,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
|
||||
/// error
|
||||
public func didError(reason: AnyObject) {
|
||||
Logger.error("%@", type: logType, args: reason)
|
||||
DefaultSocketLogger.Logger.error("%@", type: logType, args: reason)
|
||||
|
||||
handleEvent("error", data: reason as? [AnyObject] ?? [reason],
|
||||
isInternalMessage: true)
|
||||
@ -285,7 +285,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
let packet = SocketPacket.packetFromEmit(data, id: ack ?? -1, nsp: nsp, ack: false)
|
||||
let str = packet.packetString
|
||||
|
||||
Logger.log("Emitting: %@", type: logType, args: str)
|
||||
DefaultSocketLogger.Logger.log("Emitting: %@", type: logType, args: str)
|
||||
|
||||
if packet.type == .BinaryEvent {
|
||||
engine?.send(str, withData: packet.binary)
|
||||
@ -301,7 +301,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
let packet = SocketPacket.packetFromEmit(items, id: ack ?? -1, nsp: self.nsp, ack: true)
|
||||
let str = packet.packetString
|
||||
|
||||
Logger.log("Emitting Ack: %@", type: self.logType, args: str)
|
||||
DefaultSocketLogger.Logger.log("Emitting Ack: %@", type: self.logType, args: str)
|
||||
|
||||
if packet.type == SocketPacket.PacketType.BinaryAck {
|
||||
self.engine?.send(str, withData: packet.binary)
|
||||
@ -329,7 +329,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
func handleAck(ack: Int, data: AnyObject?) {
|
||||
guard status == .Connected else {return}
|
||||
|
||||
Logger.log("Handling ack: %@ with data: %@", type: logType, args: ack, data ?? "")
|
||||
DefaultSocketLogger.Logger.log("Handling ack: %@ with data: %@", type: logType, args: ack, data ?? "")
|
||||
|
||||
ackHandlers.executeAck(ack,
|
||||
items: (data as? [AnyObject]) ?? (data != nil ? [data!] : []))
|
||||
@ -344,7 +344,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
return
|
||||
}
|
||||
|
||||
Logger.log("Handling event: %@ with data: %@", type: logType, args: event, data ?? "")
|
||||
DefaultSocketLogger.Logger.log("Handling event: %@ with data: %@", type: logType, args: event, data ?? "")
|
||||
|
||||
dispatch_async(handleQueue) {
|
||||
self.anyHandler?(SocketAnyEvent(event: event, items: data))
|
||||
@ -374,7 +374,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
Joins nsp if it is not /
|
||||
*/
|
||||
public func joinNamespace() {
|
||||
Logger.log("Joining namespace", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Joining namespace", type: logType)
|
||||
|
||||
if nsp != "/" {
|
||||
engine?.send("0\(nsp)", withData: nil)
|
||||
@ -393,7 +393,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
Removes handler(s)
|
||||
*/
|
||||
public func off(event: String) {
|
||||
Logger.log("Removing handler for event: %@", type: logType, args: event)
|
||||
DefaultSocketLogger.Logger.log("Removing handler for event: %@", type: logType, args: event)
|
||||
|
||||
handlers = ContiguousArray(handlers.filter { $0.event != event })
|
||||
}
|
||||
@ -402,7 +402,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
Adds a handler for an event.
|
||||
*/
|
||||
public func on(event: String, callback: NormalCallback) {
|
||||
Logger.log("Adding handler for event: %@", type: logType, args: event)
|
||||
DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: logType, args: event)
|
||||
|
||||
let handler = SocketEventHandler(event: event, callback: callback)
|
||||
handlers.append(handler)
|
||||
@ -412,7 +412,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
Adds a single-use handler for an event.
|
||||
*/
|
||||
public func once(event: String, callback: NormalCallback) {
|
||||
Logger.log("Adding once handler for event: %@", type: logType, args: event)
|
||||
DefaultSocketLogger.Logger.log("Adding once handler for event: %@", type: logType, args: event)
|
||||
|
||||
let id = NSUUID()
|
||||
|
||||
@ -468,7 +468,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
|
||||
private func tryReconnect() {
|
||||
if reconnectTimer == nil {
|
||||
Logger.log("Starting reconnect", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Starting reconnect", type: logType)
|
||||
|
||||
status = .Reconnecting
|
||||
|
||||
@ -493,7 +493,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
|
||||
return
|
||||
}
|
||||
|
||||
Logger.log("Trying to reconnect", type: logType)
|
||||
DefaultSocketLogger.Logger.log("Trying to reconnect", type: logType)
|
||||
handleEvent("reconnectAttempt", data: [reconnectAttempts - currentReconnectAttempt],
|
||||
isInternalMessage: true)
|
||||
|
||||
|
||||
@ -24,8 +24,6 @@
|
||||
|
||||
import Foundation
|
||||
|
||||
var Logger: SocketLogger = DefaultSocketLogger()
|
||||
|
||||
public protocol SocketLogger: class {
|
||||
/// Whether to log or not
|
||||
var log: Bool {get set}
|
||||
@ -57,5 +55,7 @@ public extension SocketLogger {
|
||||
}
|
||||
|
||||
class DefaultSocketLogger: SocketLogger {
|
||||
static var Logger: SocketLogger = DefaultSocketLogger()
|
||||
|
||||
var log = false
|
||||
}
|
||||
|
||||
@ -109,7 +109,8 @@ struct SocketPacket {
|
||||
|
||||
message += jsonString! as String + ","
|
||||
} catch {
|
||||
Logger.error("Error creating JSON object in SocketPacket.completeMessage", type: SocketPacket.logType)
|
||||
DefaultSocketLogger.Logger.error("Error creating JSON object in SocketPacket.completeMessage",
|
||||
type: SocketPacket.logType)
|
||||
}
|
||||
} else if var str = arg as? String {
|
||||
str = str["\n"] ~= "\\\\n"
|
||||
|
||||
@ -56,7 +56,7 @@ class SocketParser {
|
||||
case .Error:
|
||||
socket.didError(pack.data)
|
||||
default:
|
||||
Logger.log("Got invalid packet: %@", type: "SocketParser", args: pack.description)
|
||||
DefaultSocketLogger.Logger.log("Got invalid packet: %@", type: "SocketParser", args: pack.description)
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,20 +143,20 @@ class SocketParser {
|
||||
static func parseSocketMessage(message: String, socket: SocketIOClient) {
|
||||
guard !message.isEmpty else { return }
|
||||
|
||||
Logger.log("Parsing %@", type: "SocketParser", args: message)
|
||||
DefaultSocketLogger.Logger.log("Parsing %@", type: "SocketParser", args: message)
|
||||
|
||||
switch parseString(message) {
|
||||
case .Left(let err):
|
||||
Logger.error("\(err): %@", type: "SocketParser", args: message)
|
||||
DefaultSocketLogger.Logger.error("\(err): %@", type: "SocketParser", args: message)
|
||||
case .Right(let pack):
|
||||
Logger.log("Decoded packet as: %@", type: "SocketParser", args: pack.description)
|
||||
DefaultSocketLogger.Logger.log("Decoded packet as: %@", type: "SocketParser", args: pack.description)
|
||||
handlePacket(pack, withSocket: socket)
|
||||
}
|
||||
}
|
||||
|
||||
static func parseBinaryData(data: NSData, socket: SocketIOClient) {
|
||||
guard !socket.waitingData.isEmpty else {
|
||||
Logger.error("Got data when not remaking packet", type: "SocketParser")
|
||||
DefaultSocketLogger.Logger.error("Got data when not remaking packet", type: "SocketParser")
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user