UNPKG

express-rate-limiter-ts

Version:

A powerful, flexible and modern rate limiter middleware for Express.js written in TypeScript.

30 lines (29 loc) 1.06 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.fileLogger = void 0; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const logDir = path_1.default.join(__dirname, '..', '..', 'logs'); const logFilePath = path_1.default.join(logDir, 'rate-limiter.log'); // Create folder if it doesn't exist if (!fs_1.default.existsSync(logDir)) { fs_1.default.mkdirSync(logDir, { recursive: true }); } function writeLog(level, msg, meta) { const line = `[${new Date().toISOString()}] [${level}] ${msg} ${meta ? JSON.stringify(meta) : ''}\n`; fs_1.default.appendFileSync(logFilePath, line, { encoding: 'utf8' }); } exports.fileLogger = { log: (msg, meta) => { console.log(msg, meta); }, warn: (msg, meta) => { console.warn(msg, meta); }, error: (msg, meta) => { console.error(msg, meta); }, };