Add logging solution

This commit is contained in:
Esteban Ordano 2014-09-01 12:04:10 -03:00
parent e73a3f8160
commit 8f7d952e0f
3 changed files with 51 additions and 4 deletions

View File

@ -3,6 +3,7 @@ var defaultConfig = {
// DEFAULT network (livenet or testnet)
networkName: 'testnet',
forceNetwork: false,
logLevel: 'debug',
// DEFAULT unit: Bit
unitName: 'bits',

45
js/log.js Normal file
View File

@ -0,0 +1,45 @@
var config = require('../config');
var Logger = function(name) {
this.name = name || 'log';
this.level = 2;
};
var levels = {
'debug': 0,
'info': 1,
'log': 2,
'warn': 3,
'error': 4,
'fatal': 5
};
for (_level in levels) {
(function(level) {
Logger.prototype[level] = function() {
if (levels[level] >= levels[this.level]) {
var str = '[' + level + '] ' + this.name + ': ' + arguments[0],
extraArgs,
extraArgs = [].slice.call(arguments, 1);
if (console[level]) {
extraArgs.unshift(str);
console[level].apply(console, extraArgs);
} else {
if (extraArgs.length) {
str += JSON.stringify(extraArgs);
}
console.log(str);
}
}
};
})(_level);
}
Logger.prototype.setLevel = function(level) {
this.level = level;
}
var logger = new Logger('copay');
logger.setLevel(config.logLevel);
module.exports.logger = logger;

View File

@ -2,6 +2,7 @@
var EventEmitter = require('events').EventEmitter;
var bitcore = require('bitcore');
var log = require('../../log');
var AuthMessage = bitcore.AuthMessage;
var util = bitcore.util;
var nodeUtil = require('util');
@ -187,7 +188,7 @@ Network.prototype._onMessage = function(enc) {
return;
}
//console.log('receiving ' + JSON.stringify(payload));
log.debug('receiving ' + JSON.stringify(payload));
var self = this;
switch (payload.type) {
@ -234,8 +235,8 @@ Network.prototype._setupConnectionHandlers = function(cb) {
};
Network.prototype._onError = function(err) {
console.log('RECV ERROR: ', err);
console.log(err.stack);
log.debug('RECV ERROR: ', err);
log.debug(err.stack);
this.criticalError = err.message;
};
@ -348,7 +349,7 @@ Network.prototype.send = function(dest, payload, cb) {
var to = dest[ii];
if (to == this.copayerId)
continue;
//console.log('SEND to: ' + to, this.copayerId, payload);
log.debug('SEND to: ' + to, this.copayerId, payload);
var message = this.encode(to, payload);
this.socket.emit('message', message);
}