Log Express app requests to ElasticSearch.
Install using npm:
npm install express-elasticsearch-loggerMembers
##logger.request
Document indexed with ElasticSearch. request and response properties
are included if they are whitelisted by config.whitelist.
Properties
- env
String- defaults to "development" - error
Error- error object passed tonext() - duration
Number- milliseconds between request and response - request
Object- request.httpVersion
String - request.headers
Object - request.method
String - request.originalUrl
String - request.route.path
String - request.path
String - request.query
Object
- request.httpVersion
- response
Object- response.statusCode
Number
- response.statusCode
- os
Object- os.totalmem
Number- OS total memory in bytes - os.freemem
Number- OS free memory in bytes - os.loadavg
Array.<Number>- Array of 5, 10, and 15 min averages
- os.totalmem
- process
Object- process.memoryUsage
Number- process memory in bytes
- process.memoryUsage
- @timestamp
String- ISO time of request
Type: Object
##logger.requestHandler(config, [client])
Returns Express middleware configured according to given options.
Middleware must be mounted before all other middleware to ensure accurate capture of requests. The error handler must be mounted before other error handler middleware.
Params
- config
Object- elasticsearch configuration- [index]
String- elasticsearch index (default: log_YEAR_MONTH) - [type]
String- elasticsearch request type (default: request) - whitelist
Object- request
Array.<String>- request properties to log - response
Array.<String>- response properties to log
- request
- censor
Array.<String>- list of request body properties to censor
- [index]
- [client]
elasticsearch.Client- elasticsearch client
Returns: elasticsearchLoggerMiddleware - express middleware
Example
var express = require('express');
var logger = require('express-elasticsearch-logger');
var app = express();
app
.use(logger.requestHandler({
host: 'http://localhost:9200'
}))
.get('/', function (req, res, next) {
res.sendStatus(204);
})
.use(logger.errorHandler)
.listen(8888);
##logger.errorHandler(err, req, res, next)
Error handler middleware exposes error to Response#end
This middleware is used in combination with requestHandler to capture request errors.
Params
- err
Error - req
express.Request - res
express.Response - next
express.Request.next
Please submit all issues and pull requests to the alexmingoia/express-elasticsearch-logger repository!
List available tasks with gulp help.
Run tests using npm test or gulp test.
If you have any problem or suggestion please open an issue here.