Add an option to reflect passed log to console (turned off by default)
Arech opened this issue · comments
That would ease debugging when it is convenient to log data into stream and to console at the same time.
change log.js:23 var Log = exports = module.exports = function Log(level, stream, bReflectToConsole){
then add a following line after assigning of this.stream
: this.reflect2console = (this.stream === process.stdout ? false : !!bReflectToConsole);
refactor log function in log.js:146 to
log: function(levelStr, msg) {
if (exports[levelStr] <= this.level) {
var s = '[' + new Date().toUTCString() + ']'
+ ' ' + levelStr
+ ' ' + msg;
this.stream.write(s+ '\n');
if (this.reflect2console) console.log(s);
}
},
why not have stream: process.stdout in development?
Because you will lose all stdout as soon as you close terminal, but you won't lose a log file. Console logging is only supplemental feature for file logging, for use "with", not "instead".