lorin
Version:
Lorin is a lightweight, dependency-free Express.js middleware for colorful, categorized logging of API requests, with both console output and file storage.
65 lines (61 loc) • 2.03 kB
TypeScript
// Generated by dts-bundle-generator v9.5.1
import { RequestHandler } from 'express';
/**
* Logger interface for logging messages at different levels (info, error, warn, success).
* Provides methods to log messages to both console and a file.
*/
export declare const logger: {
/**
* Logs an informational message to both console and the 'info.log' file.
* The message is colorized in cyan.
*
* @param message - The message to log.
*/
info: (message: unknown) => void;
/**
* Logs an error message to both console and the 'error.log' file.
* The message is colorized in red.
*
* @param message - The error message to log.
*/
error: (message: unknown) => void;
/**
* Logs a warning message to both console and the 'warn.log' file.
* The message is colorized in yellow.
*
* @param message - The warning message to log.
*/
warn: (message: unknown) => void;
/**
* Logs a success message to both console and the 'success.log' file.
* The message is colorized in green.
*
* @param message - The success message to log.
*/
success: (message: unknown) => void;
};
/**
* Express middleware that logs HTTP request details including method, route, status code, and response time.
* The log message is colorized based on the HTTP status code:
* - 5xx: Red background
* - 4xx: Red text
* - 3xx: Cyan text
* - 2xx: Green text
* - Other: Default color
*
* Logs are written to both console and the '.logs/api.log' file with timestamp.
* The log format is: `[timestamp] protocol: METHOD route statusCode (responseTimeMs)`
*
* @param {Request} req - Express request object
* @param {Response} res - Express response object
* @param {NextFunction} next - Express next function
* @returns {void}
*
* @example
* // Usage in Express app
* app.use(loggerMiddleware);
* // Console output: [2024-03-21 10:30:45] http: GET /api/users 200 (15ms)
* // File output: [2024-03-21 10:30:45] http: GET /api/users 200 (15ms)
*/
export declare const loggerMiddleware: RequestHandler;
export {};