Temporarily mute the console in node.js. Works with .log
and .error
. Resume and retrieve logged data later. Useful for intercepting logged data from any module and when testing modules that insist on logging all the things. Based on this gist. Here's a gist that works in the browser.
$ npm install console.mute
require('console.mute'); // adds mute and resume to console
console.log('a'); // will log
console.mute(); // mutes log
console.log('b'); // will not log
console.error('c'); // will not log
var data = console.resume(); // resumes log and returns logged data during mute
console.log('c'); // will log
console.log(data); // logs {stdout: ['b'], stderr: ['c']}
// alter history
console.mute();
console.log('a');
var part = console.resume('preserve'); // preserves history
console.mute();
console.log('b');
var history = console.resume(); // reset history
console.log(history.stdout); // logs ['a', 'b']
$ npm test
MIT