Skip to content

Theo-/express-elasticsearch-logger

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

express-elasticsearch-logger Build Status Code Coverage NPM version Dependency Status

Log Express app requests to ElasticSearch.

Installation

Install using npm:

npm install express-elasticsearch-logger

API Reference

Members

##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 to next()
  • 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
  • response Object
    • response.statusCode Number
  • 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
  • process Object
    • process.memoryUsage Number - process memory in bytes
  • @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
    • censor Array.<String> - list of request body properties to censor
  • [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

Contributing

Please submit all issues and pull requests to the alexmingoia/express-elasticsearch-logger repository!

Tasks

List available tasks with gulp help.

Tests

Run tests using npm test or gulp test.

Support

If you have any problem or suggestion please open an issue here.

About

Log requests to ElasticSearch.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%