New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

erel

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

erel

Express-route-exit-log (EREL) is an express middleware package to log useful route info, when route execution is finished

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

EREL

NPM Publish npm npm bundle size NPM GitHub stars
Express-route-exit-log (EREL) is a customisable express middleware package to log useful request insights when route execution finishes.

Features

  • Written in TypeScript
  • Included types for intellisense in IDE
  • Supports both CJS and ESM modules
  • Small package and easy to set up
  • Support for custom logging solution
  • Provides route insights like IP address, status code, execution time. etc

Install

# NPM
npm i erel --save

# Yarn
yarn add erel

Screenshot

Logging route insights using custom logger and EREL
Demo screenshot

Usage

  • For JavaScript
const express = require('express');
const app = express();

// Import exitLog from erel
const { exitLog } = require('erel');

// Use your custom logging solution (optional but preferred)
const customLogger = (data, req, res) => {
  Logger.info(
    `${data.timestamp} - ${data.ip} - ${data.method} - ${data.route} - ${data.statusCode} - ${data.responseTime}`,
  );
};
exitLog.setLogger(customLogger);

// Configure express app to use the middleware
app.use(exitLog.middleware);
  • For TypeScript
import * as express from 'express';
const app = express();

// import exitLog and LoggerCallback from erel
import { exitLog, LoggerCallback } from 'erel';

// Use your custom logging solution (optional but preferred)
const customLogger: LoggerCallback = (data, req, res) => {
  Logger.info(
    `${data.timestamp} - ${data.ip} - ${data.method} - ${data.route} - ${data.statusCode} - ${data.responseTime}`,
  );
};
exitLog.setLogger(customLogger);

// Configure express app to use the middleware
app.use(exitLog.middleware);

API Reference

exitLog

  • exitLog.setLogger

setLogger method can be used to set your custom Logging function which will be called along with the request insights. It accepts a logger function as argument which implements the LoggerCallback interface. See LoggerCallback for more details.

// Example

import { exitLog } from 'erel';
// req and res is also passed to log custom objects, like req.userId
exitLog.setLogger((data, req, res) => {
  Logger.log(`${data.timestamp} - ${req.userId} - ${data.ip} - ${data.statusCode}`);
});
  • exitLog.middleware

middleware is the inbuilt middleware function to be configured with express to use. This middleware will call the custom Logger function (if set using exitLog.setLogger), otherwise the default Logger.

// Example
import * as express from 'express';
import { exitLog } from 'erel';
const app = express();
app.use(exitLog.middleware);

LoggerCallback

LoggerCallback is an interface for the custom logger function to be used.

type LoggerCallback = (data: exitData, req?: Request, res?: Response) => void;
// data -> request insights
// req -> express request object
// res -> express response object

data contains the following properties

PropertyTypeDescription
rawEnterDateDateDate when request entered the route
rawExitDateDateDate when request finished route execution
timestampstringTimestamp when route finished execution
statusCodenumberResponse status code
routestringRoute accessed
ip`stringundefined`
responseTimenumberTime taken in millisecond to finish route execution
methodstringRequest method to access the endpoint

Need more insights?

Consider opening a feature request here.

License

NPM

Build with ♡ by

Bhumij Gupta

Bhumij profile picture

GitHub followers LinkedIn Twitter Follow

if (repo.isAwesome || repo.isHelpful) {
  StarRepo();
}

Keywords

express

FAQs

Package last updated on 19 Aug 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