Based on intercept-stdout by Steve Farthing
var intercept = require("tapit"),
captured_text = "",
_stream = fs.createWriteStream(outFile);
var unhook_intercept = intercept(_stream, function(txt) {
captured_text += txt;
});
_stream.write("This text is being captured");
// Let's stop capturing stdout.
unhook_intercept();
_stream.write("This text is not being captured");
var intercept = require("tapit");
var unhook_intercept = intercept(_stream, function(txt) {
return txt.replace( /this/i , 'that' );
});
_stream.write("This text is being modified");
// -> that text is being modified
npm install
npm test
Popular modules such as mocha
and winston
may colorize output by inserting ANSI escape codes into the output stream. Both mocha
and winston
make multiple calls to the output streams while colorizing a line -- in order to be robust, your code should anticipate and deal with this.