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
JavaScript
;
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);
},
};