index: added response logging
This commit is contained in:
parent
de4a87e5f8
commit
8280d7a628
24
lib/index.js
24
lib/index.js
@ -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
|
||||
|
||||
@ -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": {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user