A plugin that logs express route requests

import express from "express";
import { Logger, RouteLoggerPlugin } from "@koadz/logger";

const app = express();
const routeLogger = new RouteLoggerPlugin({
format: ":method :code :url - :response-time ms",
excludePaths: ["/health", "/metrics"],
});

const Log = new Logger();
Log.registerPlugin(routeLogger);

// Apply to all routes
app.use(routeLogger.logger());

// Or apply to specific routes. Note: This will override the main format.
app.post(
"/users",
routeLogger.logger({
format: ":method :url - :response-time ms",
})
);

// Or Manually triggering the middleware
routeLogger.logger({})(request, response, () => {});

// Available format tokens:
// :method - HTTP method
// :url - Request URL
// :code - Status code
// :msg - Status message
// :hostname - Request hostname
// :baseUrl - Base URL of the request
// :response-time - Response time in ms

Implements

Constructors

Properties

Methods

Constructors

Properties

name: string = 'RouteLoggerPlugin'

The name of the plugin

BasePlugin

Methods

  • Middleware function that logs a request and its response time when the response is finished.

    Parameters

    Returns (req: any, res: any, next: Function) => any

    A middleware function that logs a request and its response time.