Skip to content

Commit

Permalink
Merge pull request #195 from arb/console-cleanup
Browse files Browse the repository at this point in the history
Console cleanup
  • Loading branch information
cjihrig committed Oct 7, 2014
2 parents ab9b3bb + 2a1fe8f commit f974ed3
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 27 deletions.
35 changes: 12 additions & 23 deletions lib/reporter.js
@@ -1,6 +1,9 @@
// Load modules

var Util = require('util');
var GoodReporter = require('good-reporter');
var Hoek = require('hoek');
var Moment = require('moment');
var SafeStringify = require('json-stringify-safe');

// Declare internals
Expand All @@ -27,25 +30,10 @@ module.exports = internals.GoodConsole = function (options) {

Hoek.inherits(internals.GoodConsole, GoodReporter);

internals.GoodConsole.timeString = function(date) {

var pad = function (value) {

return (value < 10 ? '0' : '') + value;
};
internals.GoodConsole.timeString = function (timestamp) {

var time = new Date(date);
var timestring = (time.getYear() - 100).toString() +
pad(time.getMonth() + 1) +
pad(time.getDate()) +
'/' +
pad(time.getHours()) +
pad(time.getMinutes()) +
pad(time.getSeconds()) +
'.' +
time.getMilliseconds();

return timestring;
var m = Moment.utc(timestamp);
return m.format('YYMMDD/HHmmss.SSS');
};

internals.printEvent = function (event) {
Expand All @@ -63,12 +51,12 @@ internals.printEvent = function (event) {

internals.printRequest = function (event) {

var query = event.query ? JSON.stringify(event.query) : '';
var responsePayload = ' ';
var query = event.query ? SafeStringify(event.query) : '';
var responsePayload = '';
var statusCode = '';

if (typeof event.responsePayload === 'object' && event.responsePayload) {
responsePayload = ' response payload: ' + SafeStringify(event.responsePayload);
responsePayload = 'response payload: ' + SafeStringify(event.responsePayload);
}

var methodColors = {
Expand All @@ -89,13 +77,14 @@ internals.printRequest = function (event) {
} else if (event.statusCode >= 300) {
color = 36;
}
statusCode = ' \x1b[' + color + 'm' + event.statusCode + '\x1b[0m';
statusCode = '\x1b[' + color + 'm' + event.statusCode + '\x1b[0m';
}

internals.printEvent({
timestamp: event.timestamp,
tags: ['request'],
data: event.instance + ': ' + method + ' ' + event.path + ' ' + query + statusCode + ' (' + event.responseTime + 'ms)' + responsePayload
//instance, method, path, query, statusCode, responseTime, responsePayload
data: Util.format('%s: %s %s %s %s (%sms) %s', event.instance, method, event.path, query, statusCode, event.responseTime, responsePayload)
});

};
Expand Down
7 changes: 4 additions & 3 deletions package.json
Expand Up @@ -18,12 +18,13 @@
"dependencies": {
"async": "0.9.x",
"good-file": "^1.0.0",
"good-reporter": "^1.x.x",
"good-reporter": "^1.0.0",
"hoek": "2.x.x",
"items": "^1.0.2",
"joi": "4.x.x",
"json-stringify-safe": "^5.x.x",
"wreck": "5.x.x"
"json-stringify-safe": "^5.0.0",
"moment": "^2.0.0",
"wreck": "^5.0.0"
},
"peerDependencies": {
"hapi": ">=2.x.x"
Expand Down
11 changes: 10 additions & 1 deletion test/reporter.js
Expand Up @@ -167,7 +167,7 @@ describe('GoodConsole', function () {

console.log = function (value) {

expect(value).to.equal(timeString + ', request, localhost: [1;33mpost[0m /data {"name":"adam"} (150ms) response payload: {"foo":"bar","value":1}');
expect(value).to.equal(timeString + ', request, localhost: [1;33mpost[0m /data {"name":"adam"} (150ms) response payload: {"foo":"bar","value":1}');
};

event.timestamp = now;
Expand Down Expand Up @@ -294,4 +294,13 @@ describe('GoodConsole', function () {
reporter.report(done);
});
});

it('timeString() correctly formats the time', function (done) {

var time = new Date(1396207735000);
var result = GoodConsole.timeString(time);

expect(result).to.equal('140330/192855.000');
done();
});
});

0 comments on commit f974ed3

Please sign in to comment.