tj / log.js

super light-weight nodejs logging + streaming log reader

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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".