express-logger-middleware-ts
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Express Logger Middleware

A Winston-based logger middleware for Express.js applications with TypeScript support.

Features

  • Request logging middleware
  • Error logging middleware
  • Warning logging with custom codes and details
  • TypeScript support with full type definitions
  • Colorized console output
  • Timestamp-based logging
  • Express.js compatible

Installation

npm install express-logger-middleware-ts

Usage

JavaScript (CommonJS)

const { requestLogger, errorLogger, warningLogger } = require('express-logger-middleware-ts');
const express = require('express');

const app = express();
app.use(requestLogger);

warningLogger({
  message: "API version 1 is deprecated",
  code: "DEPRECATED_API",
  details: { version: "1.0" }
});

app.use(errorLogger);

TypeScript (ESM)

import { requestLogger, errorLogger, warningLogger, Warning } from 'express-logger-middleware-ts';
import express from 'express';

const app = express();
app.use(requestLogger);

// TypeScript will validate this object matches the Warning interface
const warning: Warning = {
  message: "API version 1 is deprecated",
  code: "DEPRECATED_API",
  details: { version: "1.0" }
};
warningLogger(warning);

app.use(errorLogger);

API Reference

requestLogger

Middleware that logs all incoming HTTP requests. Logs the following information:

  • Request method
  • URL
  • Headers
  • Timestamp
app.use(requestLogger);

errorLogger

Error handling middleware that logs errors and sends a 500 response. Logs:

  • Error message
  • Stack trace
  • Request method
  • URL
  • Headers
app.use(errorLogger);

warningLogger

Function to log warnings with custom codes and details.

interface Warning {
  message?: string;    // Warning message
  code?: string;       // Warning code
  details?: Record<string, unknown>; // Additional details
}

warningLogger({
  message: "Resource limit reached",
  code: "RESOURCE_LIMIT",
  details: { limit: 1000, current: 999 }
});

logger

The underlying Winston logger instance. Can be used for custom logging if needed.

import { logger } from 'express-logger-middleware-ts';

logger.info('Custom log message');
logger.error('Custom error message');

Output Format

Logs are formatted as follows:

[TIMESTAMP] LEVEL: MESSAGE METADATA

Example:

2025-01-23T16:15:27.000Z info: Incoming request {"method":"GET","url":"/api/users","headers":{...}}

Requirements

  • Node.js >= 12
  • Express.js >= 4.0.0

License

ISC

Author

Ashish

Package Sidebar

Install

npm i express-logger-middleware-ts

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

6.1 kB

Total Files

4

Last publish

Collaborators

  • ashish_maurya