26 lines
724 B
JavaScript
Executable file
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.');
|