diff --git a/client.coffee b/client.coffee index 200cad9..27d5c8f 100644 --- a/client.coffee +++ b/client.coffee @@ -1,6 +1,7 @@ uuid = require('node-uuid') signing = require('./signing') SubscriptionManager = require('./subscription').SubscriptionManager +logger = require('./logger').logger clients = {} @@ -8,7 +9,6 @@ clients = {} class Client constructor: (@ws) -> @.id = uuid.v4() - @.handleEvents() handleEvents: () -> @@ -18,8 +18,8 @@ class Client handleError: (error) -> req = @ws.upgradeReq headers = req.headers - console.log "evt=client_error", "x_forwarded_for=#{headers['x-forwarded-for']}" - console.log "Error: ", error + logger.error "evt=client_errorx_forwarded_for=%s", headers['x-forwarded-for'] + logger.error error handleMessage: (message) -> try @@ -58,7 +58,7 @@ class Client try @ws.send(JSON.stringify({cmd: "pong"})) catch e - console.error("Error: ", e) + logger.error e close: () -> if @.subscriptionManager diff --git a/index.coffee b/index.coffee index bbe9842..984f072 100644 --- a/index.coffee +++ b/index.coffee @@ -1,13 +1,16 @@ +logger = require('./logger').logger + +webSocket = require 'ws' + eventsConfig = require('./events-config') -argv = require('minimist')(process.argv.slice(2)); - +argv = require('minimist')(process.argv.slice(2)) eventsConfig.loadConfigFile(argv.config || './config') +config = eventsConfig.config -config = eventsConfig.config; +client = require './client' -client = require('./client') +WebSocketServer = webSocket.Server -WebSocketServer = require('ws').Server wss = new WebSocketServer(config.webSocketServer) wss.on 'connection', (ws) -> diff --git a/logger.coffee b/logger.coffee new file mode 100644 index 0000000..077adf5 --- /dev/null +++ b/logger.coffee @@ -0,0 +1,24 @@ +winston = require 'winston' + +simplestFormat = winston.format.printf((info) => + "#{info.timestamp} #{info.level} #{info.message}") + +logger = winston.createLogger({ + format: winston.format.combine( + winston.format.splat(), + winston.format.timestamp({ + format: 'YYYY-MM-DD HH:mm:ss' + }), + simplestFormat + ), + transports: [ + new winston.transports.Console({ + level: "debug", + handleExceptions: true, + json: false, + colorize: true + }) + ], +}); + +exports.logger = logger diff --git a/package.json b/package.json index a66a773..c367b01 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "bluebird": "^2.9.10", "minimist": "^1.2.0", "node-uuid": "^1.4.2", + "winston": "^3.0.0-rc5", "ws": "^2.0.3" } }