index: added response logging

This commit is contained in:
Braydon Fuller 2016-04-07 07:04:51 -04:00
parent de4a87e5f8
commit 8280d7a628
2 changed files with 25 additions and 0 deletions

View File

@ -1,5 +1,6 @@
'use strict';
var Writable = require('stream').Writable;
var bodyParser = require('body-parser');
var BaseService = require('./service');
var inherits = require('util').inherits;
@ -10,6 +11,7 @@ var StatusController = require('./status');
var MessagesController = require('./messages');
var UtilsController = require('./utils');
var CurrencyController = require('./currency');
var morgan = require('morgan');
var bitcore = require('bitcore-lib');
var _ = bitcore.deps._;
var $ = bitcore.util.preconditions;
@ -85,8 +87,30 @@ InsightAPI.prototype.start = function(callback) {
setImmediate(callback);
};
InsightAPI.prototype.createLogInfoStream = function() {
var self = this;
function Log(options) {
Writable.call(this, options);
}
inherits(Log, Writable);
Log.prototype._write = function (chunk, enc, callback) {
self.node.log.info(chunk.slice(0, chunk.length - 1)); // remove new line and pass to logger
callback();
};
var stream = new Log();
return stream;
};
InsightAPI.prototype.setupRoutes = function(app) {
//Setup logging
var logFormat = ':remote-addr ":method :url" :status :res[content-length] :response-time ":user-agent" ';
var logStream = this.createLogInfoStream();
app.use(morgan(logFormat, {stream: logStream}));
app.use(bodyParser.urlencoded({extended: true}));
//Enable CORS

View File

@ -66,6 +66,7 @@
"body-parser": "^1.13.3",
"lodash": "^2.4.1",
"lru-cache": "^4.0.1",
"morgan": "^1.7.0",
"request": "^2.64.0"
},
"devDependencies": {