
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
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.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.