Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

express-elasticsearch-logger

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-elasticsearch-logger

Log Express app requests to ElasticSearch.

  • 4.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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

express-elasticsearch-logger

express-elasticsearch-logger.doc : Object

Document indexed with ElasticSearch. request and response properties are included if they are whitelisted by config.whitelist.

Kind: static constant of express-elasticsearch-logger
Properties

NameTypeDescription
envStringdefaults to "development"
[error]Errorerror object passed to next()
durationNumbermilliseconds between request and response
requestObjectrequst object detail of express
request.httpVersionString
request.headersObject
request.methodString
request.originalUrlString
request.route.pathString
request.pathString
request.queryObject
responseObject
response.statusCodeNumber
osObject
os.totalmemNumberOS total memory in bytes
os.freememNumberOS free memory in bytes
os.loadavgArray.<Number>Array of 5, 10, and 15 min averages
processObject
process.memoryUsageNumberprocess memory in bytes
@timestampStringISO time of request

express-elasticsearch-logger.requestHandler(config, [client]) ⇒ elasticsearchLoggerMiddleware

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.

Kind: static method of express-elasticsearch-logger
Returns: elasticsearchLoggerMiddleware - express middleware

ParamTypeDefaultDescription
configObjectelasticsearch configuration
[config.host]String"http://localhost:9200"elasticsearch host to connect
[config.index]String"log_[YYYY]-h[1|2]"elasticsearch index (default: log_YYYY-h1 or log_YYYY-h2 as bi-annually)
config.whitelistObject
[config.whitelist.request]Array.<String>["userId","body","email","httpVersion","headers","method","originalUrl","path","query"]request properties to log
[config.whitelist.response]Array.<String>["statusCode", "sent", "took"]response properties to log
[config.censor]Array.<String>["password"]list of request body properties to censor
[config.includeDefault]Booleantrueinclude default whitelist and censor the the given config
[config.indexPrefix]String"log"elasticsearch index prefix for running index
[config.indexSuffixBy]String"halfYear"elasticsearch index suffix for running index, one of m M month (Monthly) q Q quarter (Quarterly) h H halfYear (Bi-annually)
[config.indexSettings]Object
{
index: {
number_of_shards: "3",
number_of_replicas: "2",
refresh_interval: "60s",
analysis: {
normalizer: {
lowercase: {
type: "custom",
char_filter: [],
filter: ["lowercase"],
},
},
},
},
}
settings in the mapping to be created
[client]elasticsearch.Client@elastic/elasticsearch client to be injected

Example

const express = require('express');
const logger = require('express-elasticsearch-logger');

const app = express();

app
  .use(logger.requestHandler({
    host: 'http://localhost:9200'
  })
  .get('/', function (req, res, next) {
    res.sendStatus(204);
  })
  .use(logger.errorHandler);

express-elasticsearch-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.

Kind: static method of express-elasticsearch-logger

ParamType
errError
reqexpress.Request
resexpress.Response
nextexpress.Request.next

express-elasticsearch-logger.skipLog(req, res, next)

This middleware will mark for skip log use this middleware for endpoint that is called too often and did not need to log like healthcheck

Kind: static method of express-elasticsearch-logger

ParamType
reqexpress.Request
resexpress.Response
nextexpress.Request.next

Contributing

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

Tests

Run tests using npm test.

Support

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

Keywords

FAQs

Package last updated on 30 Apr 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc