node-bunyan-lite/tools/timeguard.js

26 lines
724 B
JavaScript
Executable file

#!/usr/bin/env node
/*
* Time logging with/without a try/catch-guard on the JSON.stringify.
*/
console.log('Time try/catch-guard on JSON.stringify:');
var ben = require('ben'); // npm install ben
var bunyan = require('../lib/bunyan');
function Collector() {}
Collector.prototype.write = function (s) {};
var log = bunyan.createLogger({
name: 'timeguard',
stream: new Collector()
});
var ms = ben(1e5, function () {
log.info('hi');
});
console.log(' - log.info: %dms per iteration', ms);
console.log('\nNow you need to manually change `Logger.prototype._emit` in\n'
+ '"../lib/bunyan.js" to (not) have a try/catch around `JSON.stringify`.\n'
+ 'Then re-run this a few times to compare speed.');