From f1c3d7c4983b8fc8a9162090927948b7960bbc7c Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Wed, 20 Aug 2014 12:49:57 -0400 Subject: [PATCH] fix logging and plugin --- app/controllers/socket.js | 14 +++--------- lib/MessageDb.js | 3 --- lib/TransactionDb.js | 2 +- lib/logger.js | 8 +++---- package.json | 6 ++--- plugins/mailbox.js | 46 ++++++++++++++++++++++++--------------- 6 files changed, 40 insertions(+), 39 deletions(-) diff --git a/app/controllers/socket.js b/app/controllers/socket.js index 1c82ea77..59f4a186 100644 --- a/app/controllers/socket.js +++ b/app/controllers/socket.js @@ -3,17 +3,17 @@ // server-side socket behaviour var ios = null; // io is already taken in express var util = require('bitcore').util; -var logger = require('../../lib/logger'); +var logger = require('../../lib/logger').logger; module.exports.init = function(io_ext) { ios = io_ext; if (ios) { // when a new socket connects ios.sockets.on('connection', function(socket) { - logger.info('New connection from ' + socket.id); + logger.debug('New connection from ' + socket.id); // when it subscribes, make it join the according room socket.on('subscribe', function(topic) { - logger.info('subscribe to ' + topic); + logger.debug('subscribe to ' + topic); socket.join(topic); }); @@ -66,11 +66,3 @@ module.exports.broadcastSyncInfo = function(historicSync) { ios.sockets.in('sync').emit('status', historicSync); }; -var broadcastMessage = module.exports.broadcastMessage = function(message, socket) { - if (ios) { - var s = socket || ios.sockets.in(message.to); - logger.info('sending message to ' + message.to); - s.emit('message', message); - } - -} diff --git a/lib/MessageDb.js b/lib/MessageDb.js index 0742820c..a7afe885 100644 --- a/lib/MessageDb.js +++ b/lib/MessageDb.js @@ -19,10 +19,7 @@ var MAX_OPEN_FILES = 500; var CONCURRENCY = 5; -var d = logger.log; -var info = logger.info; var db; - var MessageDb = function(opts) { opts = opts || {}; this.path = config.leveldb + '/messages' + (opts.name ? ('-' + opts.name) : ''); diff --git a/lib/TransactionDb.js b/lib/TransactionDb.js index cc1ff7de..ef501150 100644 --- a/lib/TransactionDb.js +++ b/lib/TransactionDb.js @@ -39,7 +39,7 @@ var bitcore = require('bitcore'), bitcoreUtil = bitcore.util, buffertools = require('buffertools'); -var logger = require('./logger').logger; +var logger = require('./logger'); var inf = logger.info; var db = imports.db || levelup(config.leveldb + '/txs', { diff --git a/lib/logger.js b/lib/logger.js index 3946aceb..13533688 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -1,7 +1,7 @@ var winston = require('winston'); +var logger = winston; +logger.transports.Console.level = 'debug'; +logger.info('starting...'); -winston.transports.console.level = 'debug'; -winston.info('starting...') - -module.exports.logger=winston; +module.exports.logger = logger; diff --git a/package.json b/package.json index 52893590..e7644776 100644 --- a/package.json +++ b/package.json @@ -66,11 +66,11 @@ "preconditions": "^1.0.7", "should": "~2.1.1", "sinon": "~1.7.3", + "socket.io": "1.0.6", + "socket.io-client": "1.0.6", "soop": "=0.1.5", "winston": "*", - "xmlhttprequest": "~1.6.0", - "socket.io": "1.0.6", - "socket.io-client": "1.0.6" + "xmlhttprequest": "~1.6.0" }, "devDependencies": { "chai": "*", diff --git a/plugins/mailbox.js b/plugins/mailbox.js index 3145f793..a9eaf9f7 100644 --- a/plugins/mailbox.js +++ b/plugins/mailbox.js @@ -1,14 +1,17 @@ var microtime = require('microtime'); -var mdb = require('../../lib/MessageDb').default(); +var mdb = require('../lib/MessageDb').default(); +var logger = require('../lib/logger').logger; +var preconditions = require('preconditions').singleton(); - -module.exports.init = function(ios, config) { - - ios.sockets.on('connection', function(socket) { +var io; +module.exports.init = function(ext_io, config) { + preconditions.checkArgument(ext_io); + io = ext_io; + io.sockets.on('connection', function(socket) { // when it requests sync, send him all pending messages socket.on('sync', function(ts) { - log('Sync requested by ' + socket.id); - log(' from timestamp ' + ts); + logger.debug('Sync requested by ' + socket.id); + logger.debug(' from timestamp ' + ts); var rooms = socket.rooms; if (rooms.length !== 2) { socket.emit('insight-error', 'Must subscribe with public key before syncing'); @@ -16,12 +19,12 @@ module.exports.init = function(ios, config) { } var to = rooms[1]; var upper_ts = Math.round(microtime.now()); - log(' to timestamp ' + upper_ts); + logger.debug(' to timestamp ' + upper_ts); mdb.getMessages(to, ts, upper_ts, function(err, messages) { if (err) { throw new Error('Couldn\'t get messages on sync request: ' + err); } - log('\tFound ' + messages.length + ' message' + (messages.length !== 1 ? 's' : '')); + logger.debug('\tFound ' + messages.length + ' message' + (messages.length !== 1 ? 's' : '')); for (var i = 0; i < messages.length; i++) { broadcastMessage(messages[i], socket); } @@ -30,7 +33,7 @@ module.exports.init = function(ios, config) { // when it sends a message, add it to db socket.on('message', function(m) { - log('Message sent from ' + m.pubkey + ' to ' + m.to); + logger.debug('Message sent from ' + m.pubkey + ' to ' + m.to); mdb.addMessage(m, function(err) { if (err) { throw new Error('Couldn\'t add message to database: ' + err); @@ -41,14 +44,14 @@ module.exports.init = function(ios, config) { // disconnect handler socket.on('disconnect', function() { - log('disconnected ' + socket.id); + logger.debug('disconnected ' + socket.id); }); mdb.on('message', broadcastMessage); // when it requests sync, send him all pending messages socket.on('sync', function(ts) { - log('Sync requested by ' + socket.id); - log(' from timestamp ' + ts); + logger.debug('Sync requested by ' + socket.id); + logger.debug(' from timestamp ' + ts); var rooms = socket.rooms; if (rooms.length !== 2) { socket.emit('insight-error', 'Must subscribe with public key before syncing'); @@ -56,12 +59,12 @@ module.exports.init = function(ios, config) { } var to = rooms[1]; var upper_ts = Math.round(microtime.now()); - log(' to timestamp ' + upper_ts); + logger.debug(' to timestamp ' + upper_ts); mdb.getMessages(to, ts, upper_ts, function(err, messages) { if (err) { throw new Error('Couldn\'t get messages on sync request: ' + err); } - log('\tFound ' + messages.length + ' message' + (messages.length !== 1 ? 's' : '')); + logger.debug('\tFound ' + messages.length + ' message' + (messages.length !== 1 ? 's' : '')); for (var i = 0; i < messages.length; i++) { broadcastMessage(messages[i], socket); } @@ -70,7 +73,7 @@ module.exports.init = function(ios, config) { // when it sends a message, add it to db socket.on('message', function(m) { - log('Message sent from ' + m.pubkey + ' to ' + m.to); + logger.debug('Message sent from ' + m.pubkey + ' to ' + m.to); mdb.addMessage(m, function(err) { if (err) { throw new Error('Couldn\'t add message to database: ' + err); @@ -81,10 +84,19 @@ module.exports.init = function(ios, config) { // disconnect handler socket.on('disconnect', function() { - log('disconnected ' + socket.id); + logger.debug('disconnected ' + socket.id); }); }); mdb.on('message', broadcastMessage); }; + + + +var broadcastMessage = module.exports.broadcastMessage = function(message, socket) { + preconditions.checkState(io); + var s = socket || io.sockets.in(message.to); + logger.debug('sending message to ' + message.to); + s.emit('message', message); +}