mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
small update to log - if toString() causes exception, then note and use util.inspect instead - prevents log from causing processes to abort through exception.
Add tests.
This commit is contained in:
parent
74d760a46d
commit
63cc9adeaa
@ -84,9 +84,14 @@ var consoleLogger = function(msg) {
|
|||||||
util.log("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+msg.msg.stack);
|
util.log("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+msg.msg.stack);
|
||||||
} else {
|
} else {
|
||||||
var message = msg.msg;
|
var message = msg.msg;
|
||||||
if (typeof message === 'object' && message !== null && message.toString() === '[object Object]' && message.message) {
|
try {
|
||||||
message = message.message;
|
if (typeof message === 'object' && message !== null && message.toString() === '[object Object]' && message.message) {
|
||||||
|
message = message.message;
|
||||||
|
}
|
||||||
|
} catch(e){
|
||||||
|
message = 'Exception trying to log: '+util.inspect(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
util.log("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+message);
|
util.log("["+levelNames[msg.level]+"] "+(msg.type?"["+msg.type+":"+(msg.name||msg.id)+"] ":"")+message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -224,5 +224,19 @@ describe("@node-red/util/log", function() {
|
|||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
it('it can log without exception', function() {
|
||||||
|
var msg = {
|
||||||
|
msg: {
|
||||||
|
mystrangeobj:"hello",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
msg.msg.toString = function(){
|
||||||
|
throw new Error('Exception in toString - should have been caught');
|
||||||
|
}
|
||||||
|
msg.msg.constructor = { name: "strangeobj" };
|
||||||
|
var ret = log.info(msg.msg);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user