New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@rentspree/express-elasticsearch-logger

Package Overview
Dependencies
Maintainers
3
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rentspree/express-elasticsearch-logger

Log Express app requests to ElasticSearch.

  • 4.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
5
decreased by-80.77%
Maintainers
3
Weekly downloads
 
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 @rentspree/express-elasticsearch-logger

API Reference

Configuration

const {requestHandler} = require('@rentspree/express-elasticsearch-logger')
app.use(
  requestHandler({
    host:'http://localhost:9200',
    index: undefined, //use prefix and suffix instead fixing the index name
    whitelist:{
      request:['user'],
      response:['my_response'],
    },
    censor:['password'],
    includeDefault:true, // for whitelist and censor, include the predefined value or not
    // below example will make index name 'service_log_q3'
    indexPrefix :'service_log',
    indexSuffixBy :'quarter', //available are monthly('m','M','month'), quarterly('q','Q','quarter') and bi-annually('h','H','halfYear')
    indexSettings:{ // custom setting for index creating
      index:{
        refresh_interval:'20s'
      }
    }
  })
)

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, this config will deep censor your data. for example, if you input 'data.deepdata', your property deepdata inside data object will be marked as CENSORED
  • [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!

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 29 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