EREL
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
Usage
- For JavaScript
const express = ;const app = ; // Import exitLog from erelconst exitLog = ; // Use your custom logging solution (optional but preferred)const customLogger = { Logger;};exitLog; // Configure express app to use the middlewareapp;
- For TypeScript
;; // import exitLog and LoggerCallback from erel; // Use your custom logging solution (optional but preferred);exitLog.setLoggercustomLogger; // Configure express app to use the middlewareapp.useexitLog.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 ;// req and res is also passed to log custom objects, like req.userIdexitLog.setLogger;
- ####
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;;;app.useexitLog.middleware;
LoggerCallback
LoggerCallback
is an interface for the custom logger function to be used.
;// 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 |
IP address of the request |
responseTime |
number |
Time taken in millisecond to finish route execution |
method |
string |
Request method to access the endpoint |
Need more insights?
Consider opening a feature request here.
License
Build with ♡ by
Bhumij Gupta
if repoisAwesome || repoisHelpful ;