diff --git a/bws.js b/bws.js index e41f53f..271cafe 100755 --- a/bws.js +++ b/bws.js @@ -6,6 +6,11 @@ var ExpressApp = require('./lib/expressapp'); var WsApp = require('./lib/wsapp'); var config = require('./config'); var sticky = require('sticky-session'); +var log = require('npmlog'); +log.debug = log.verbose; +log.disableColor(); + + var port = process.env.BWS_PORT || config.port || 3232; @@ -24,24 +29,25 @@ if (config.https) { } var start = function() { - var app = ExpressApp.start(config); var server; if (config.cluster) { server = sticky(clusterInstances, function() { + var app = ExpressApp.start(config); var server = config.https ? serverModule.createServer(serverOpts, app) : serverModule.Server(app); WsApp.start(server, config); return server; }); } else { + var app = ExpressApp.start(config); server = config.https ? serverModule.createServer(serverOpts, app) : serverModule.Server(app); WsApp.start(server, config); } server.listen(port, function(err) { if (err) console.log('ERROR: ', err); - console.log('Bitcore Wallet Service running on port ' + port); + log.info('Bitcore Wallet Service running on port ' + port); }); }; diff --git a/lib/blockchainexplorer.js b/lib/blockchainexplorer.js index c34660f..99586c3 100644 --- a/lib/blockchainexplorer.js +++ b/lib/blockchainexplorer.js @@ -37,17 +37,18 @@ function getTransactionsInsight(url, addresses, from, to, cb) { if (_.isNumber(to)) qs.push('to=' + to); var url = url + '/api/addrs/txs' + (qs.length > 0 ? '?' + qs.join('&') : ''); - - request({ + var args = { method: "POST", url: url, json: { addrs: [].concat(addresses).join(',') - } - }, function(err, res, txs) { + }, + }; + + request(args, function(err, res, txs) { if (err || res.statusCode != 200) return cb(err || res); // NOTE: Whenever Insight breaks communication with bitcoind, it returns invalid data but no error code. - if (!_.isArray(txs) || (txs.length != _.compact(txs).length)) return cb(new Error('Could not retrieve transactions from blockchain')); + if (!_.isArray(txs) || (txs.length != _.compact(txs).length)) return cb(new Error('Could not retrieve transactions from blockchain. Request was:' + JSON.stringify(args))); return cb(null, txs); }); diff --git a/lib/expressapp.js b/lib/expressapp.js index 3e6119c..35ddef8 100644 --- a/lib/expressapp.js +++ b/lib/expressapp.js @@ -3,12 +3,14 @@ var _ = require('lodash'); var async = require('async'); var log = require('npmlog'); + var express = require('express'); var querystring = require('querystring'); var bodyParser = require('body-parser') var WalletService = require('./server'); +log.disableColor(); log.debug = log.verbose; log.level = 'debug'; @@ -52,7 +54,9 @@ ExpressApp.start = function(opts) { // TODO access.log //var accessLogStream = fs.createWriteStream(__dirname + '/access.log', {flags: 'a'}) //app.use(morgan('combined', {stream: accessLogStream})) - app.use(require('morgan')('dev')); + // app.use(require('morgan')('dev')); + + app.use(require('morgan')(':remote-addr :date[iso] ":method :url" :status :res[content-length] :response-time ":user-agent" ')); } else { log.level = 'silent'; } diff --git a/lib/lock.js b/lib/lock.js index adfd20a..9bdaf37 100644 --- a/lib/lock.js +++ b/lib/lock.js @@ -2,6 +2,7 @@ var $ = require('preconditions').singleton(); var _ = require('lodash'); var log = require('npmlog'); log.debug = log.verbose; +log.disableColor(); var LocalLock = require('./locallock'); var RemoteLock = require('locker'); diff --git a/lib/server.js b/lib/server.js index cf9bc16..17e276c 100644 --- a/lib/server.js +++ b/lib/server.js @@ -4,6 +4,7 @@ var $ = require('preconditions').singleton(); var async = require('async'); var log = require('npmlog'); log.debug = log.verbose; +log.disableColor(); var WalletUtils = require('bitcore-wallet-utils'); var Bitcore = WalletUtils.Bitcore; diff --git a/lib/storage.js b/lib/storage.js index e595b7d..f2bed0b 100644 --- a/lib/storage.js +++ b/lib/storage.js @@ -9,6 +9,7 @@ var $ = require('preconditions').singleton(); var log = require('npmlog'); var util = require('util'); log.debug = log.verbose; +log.disableColor(); var Wallet = require('./model/wallet'); var Copayer = require('./model/copayer'); @@ -25,7 +26,7 @@ var Storage = function(opts) { this.db = multilevel.client(); var con = net.connect(opts.multiLevel); con.pipe(this.db.createRpcStream()).pipe(con); - console.log('Connected to multilevel server at:', opts.multiLevel); + log.info('Using multilevel server:' + opts.multiLevel.host + ':' + opts.multiLevel.port); } else { this.db = levelup(opts.dbPath || './db/bws.db', { valueEncoding: 'json'