]> git.r.bdr.sh - rbdr/cologne/blobdiff - lib/loggers/socket.js
Cobalt 2.0 -> Now with neon 2.0
[rbdr/cologne] / lib / loggers / socket.js
index 8d0ff55dd859b6e48eaa1024799d537e8ab5ce81..70662748cea12f93319e451a969fd447efbf43e9 100644 (file)
@@ -1,36 +1,37 @@
-(function (global) {
-  var Module, Class;
-
-  // Load up dependencies
-  if (typeof require === 'function') {
-    var Ne = require('neon');
-    Module = Ne.Module;
-    Class = Ne.Class;
-  } else {
-    Module = global.Module;
-    Class = global.Class;
-  }
+if (typeof require === 'function') {
+  var ioClient = require('socket.io-client');
+}
 
-  var Cobalt = {};
-  Module(Cobalt, 'Logger')({});
+Class(Cobalt.Logger, 'Socket')({
+  prototype : {
+    serverUrl : '/',
 
-  Cobalt.Logger.Socket = Class(Cobalt.Logger, 'Socket')({
-    prototype : {
-      serverUrl : '/',
+    init : function (config) {
+      var logger = this;
 
-      init : function () {
-        this._socket = io.connect(this.serverUrl);
-      },
+      if (config) {
+        for (property in config) {
+          logger[property] = config[property];
+        }
+      }
 
-      log : function (logObject) {
-        this._socket.emit('log', logObject);
+      if (!logger.socketIo) {
+        logger.socketIo = ioClient;
       }
-    }
-  });
 
-  if (typeof require === 'function') {
-    global.Socket = Cobalt.Logger.Socket;
-  } else {
-    global.Cobalt.Logger.Socket = Cobalt.Logger.Socket;
+      logger._socket = logger.socketIo.connect(logger.serverUrl);
+    },
+
+    log : function () {
+      var i, messageArray = [];
+
+      for (i = 0; i < arguments.length; i++) {
+        messageArray.push(arguments[i]);
+      }
+
+      if (this._socket) {
+        this._socket.emit('log', messageArray);
+      }
+    }
   }
-}(typeof window !== 'undefined' ? window : (typeof exports !== 'undefined' ? exports : self)));
+});