Update logging/metric system

This commit is contained in:
Nick O'Leary
2015-02-03 22:02:26 +00:00
parent 7d6ce1ec12
commit 0aaea1ec40
24 changed files with 245 additions and 209 deletions

View File

@@ -91,7 +91,7 @@ describe('Node', function() {
var n = new RedNode({id:'123',type:'abc'});
n.on('input',function(msg) {
(typeof msg).should.not.be.equal("undefined");
(typeof msg._messageUuid).should.not.be.equal("undefined");
(typeof msg._id).should.not.be.equal("undefined");
done();
});
n.receive();
@@ -101,7 +101,7 @@ describe('Node', function() {
var n = new RedNode({id:'123',type:'abc'});
n.on('input',function(msg) {
(typeof msg).should.not.be.equal("undefined");
(typeof msg._messageUuid).should.not.be.equal("undefined");
(typeof msg._id).should.not.be.equal("undefined");
done();
});
n.receive(null);
@@ -308,6 +308,31 @@ describe('Node', function() {
n1.send(message);
});
it("logs the uuid for all messages sent", function(done) {
var flowGet = sinon.stub(flows,"get",function(id) {
return {'n1':sender,'n2':receiver1,'n3':receiver2}[id];
});
var logHandler = {
messagesSent: 0,
emit: function(event, msg) {
if (msg.event == "node.abc.send" && msg.level == Log.METRIC) {
this.messagesSent++;
(typeof msg.msgid).should.not.be.equal("undefined");
flowGet.restore();
done();
}
}
};
Log.addHandler(logHandler);
var sender = new RedNode({id:'n1',type:'abc', wires:[['n2', 'n3']]});
var receiver1 = new RedNode({id:'n2',type:'abc'});
var receiver2 = new RedNode({id:'n3',type:'abc'});
sender.send({"some": "message"});
})
});
@@ -319,14 +344,11 @@ describe('Node', function() {
loginfo = msg;
});
n.log("a log message");
should.deepEqual({level:"info", id:n.id,
should.deepEqual({level:Log.INFO, id:n.id,
type:n.type, msg:"a log message", }, loginfo);
Log.log.restore();
done();
});
});
describe('#log', function() {
it('produces a log message with a name', function(done) {
var n = new RedNode({id:'123', type:'abc', name:"barney"});
var loginfo = {};
@@ -334,7 +356,7 @@ describe('Node', function() {
loginfo = msg;
});
n.log("a log message");
should.deepEqual({level:"info", id:n.id, name: "barney",
should.deepEqual({level:Log.INFO, id:n.id, name: "barney",
type:n.type, msg:"a log message"}, loginfo);
Log.log.restore();
done();
@@ -349,7 +371,7 @@ describe('Node', function() {
loginfo = msg;
});
n.warn("a warning");
should.deepEqual({level:"warn", id:n.id,
should.deepEqual({level:Log.WARN, id:n.id,
type:n.type, msg:"a warning"}, loginfo);
Log.log.restore();
done();
@@ -364,7 +386,7 @@ describe('Node', function() {
loginfo = msg;
});
n.error("an error message");
should.deepEqual({level:"error", id:n.id,
should.deepEqual({level:Log.ERROR, id:n.id,
type:n.type, msg:"an error message"}, loginfo);
Log.log.restore();
done();
@@ -378,10 +400,10 @@ describe('Node', function() {
sinon.stub(Log, 'log', function(msg) {
loginfo = msg;
});
var msg = {payload:"foo", _messageUuid:"987654321"};
var msg = {payload:"foo", _id:"987654321"};
n.metric("test.metric",msg,"15mb");
should.deepEqual({level:"metric", nodeid:n.id,
event:"test.metric",msguuid:"987654321", metric:"15mb"}, loginfo);
should.deepEqual({metric:"15mb", level:Log.METRIC, nodeid:n.id,
event:"node.abc.test.metric",msgid:"987654321"}, loginfo);
Log.log.restore();
done();
});

View File

@@ -21,6 +21,7 @@ var util = require("util");
var index = require("../../../red/nodes/index");
var credentials = require("../../../red/nodes/credentials");
var log = require("../../../red/log");
describe('Credentials', function() {
@@ -131,18 +132,18 @@ describe('Credentials', function() {
return when(true);
}
};
var logmsg = 'no errors yet';
sinon.stub(util, 'log', function(msg) {
var logmsg = 'nothing logged yet';
sinon.stub(log, 'warn', function(msg) {
logmsg = msg;
});
credentials.init(storage);
credentials.load().then(function() {
should.equal('[red] Error loading credentials : test forcing failure', logmsg);
util.log.restore();
logmsg.should.equal("Error loading credentials : test forcing failure");
log.warn.restore();
done();
}).otherwise(function(err){
util.log.restore();
log.warn.restore();
done(err);
});
});
@@ -189,7 +190,7 @@ describe('Credentials', function() {
});
}
var logmsg = 'nothing logged yet';
sinon.stub(util, 'log', function(msg) {
sinon.stub(log, 'warn', function(msg) {
logmsg = msg;
});
var settings = {
@@ -201,10 +202,10 @@ describe('Credentials', function() {
var testnode = new TestNode({id:'tab1',type:'test',name:'barney'});
credentials.extract(testnode);
should.equal(logmsg, 'Credential Type test is not registered.');
util.log.restore();
log.warn.restore();
done();
}).otherwise(function(err){
util.log.restore();
log.warn.restore();
done(err);
});
});