NodeJS handles the process.stdout variable

I am trying to read from stdout and put it in a variable in NodeJS. This is what I tried:

process.stdout.on('data', function(data) {
    console.log(data.toString())
});

console.log('hello')

I expect him to output hi twice, but he only outputs it once. Why doesn't the callback start? It works when using stdin ..

+6
source share
3 answers
+8

. @mattr.

process.stdout.write , process.stdout. Node.js.

global.serverLog = "";
process.stdout.write = (function(write) {
        return function(string, encoding, fileDescriptor) {
                global.serverLog += string;
                write.apply(process.stdout, arguments);
            };
    })(process.stdout.write);

, process.stderr.

+1

:

process.stdout._orig_write = process.stdout.write;
process.stdout.write = (data) => {
  mylogger.write(data);
  process.stdout._orig_write(data);
}
0

All Articles