
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
Express-route-exit-log (EREL) is an express middleware package to log useful route info, when route execution is finished
# NPM
npm i erel --save
# Yarn
yarn add erel
Logging route insights using custom logger and EREL

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);
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);
exitLog.setLoggersetLogger 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.middlewaremiddleware 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 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
| Property | Type | Description |
|---|---|---|
rawEnterDate | Date | Date when request entered the route |
rawExitDate | Date | Date when request finished route execution |
timestamp | string | Timestamp when route finished execution |
statusCode | number | Response status code |
route | string | Route accessed |
ip | `string | undefined` |
responseTime | number | Time taken in millisecond to finish route execution |
method | string | Request method to access the endpoint |
Consider opening a feature request here.
if (repo.isAwesome || repo.isHelpful) {
StarRepo();
}
FAQs
Express-route-exit-log (EREL) is an express middleware package to log useful route info, when route execution is finished
We found that erel demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.