Skip to content

Instantly share code, notes, and snippets.

@pguillory
Created December 5, 2010 23:51
Show Gist options
  • Save pguillory/729616 to your computer and use it in GitHub Desktop.
Save pguillory/729616 to your computer and use it in GitHub Desktop.
Hooking into Node.js stdout
var util = require('util')
function hook_stdout(callback) {
var old_write = process.stdout.write
process.stdout.write = (function(write) {
return function(string, encoding, fd) {
write.apply(process.stdout, arguments)
callback(string, encoding, fd)
}
})(process.stdout.write)
return function() {
process.stdout.write = old_write
}
}
console.log('a')
console.log('b')
var unhook = hook_stdout(function(string, encoding, fd) {
util.debug('stdout: ' + util.inspect(string))
})
console.log('c')
console.log('d')
unhook()
console.log('e')
console.log('f')
@MaiTrinh
Copy link

MaiTrinh commented Nov 3, 2020

thanks for this.

@nexensys
Copy link

Thank you so much for this! I'm trying to make an advanced CLI for a nextjs app, but webpack uses stdout and messes up all of the formatting!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment