"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = void 0; class LogService { logs = []; maxLogs = 1000; log(level, category, message) { const entry = { timestamp: new Date(), level, category, message }; this.logs.unshift(entry); if (this.logs.length > this.maxLogs) { this.logs = this.logs.slice(0, this.maxLogs); } const timestamp = entry.timestamp.toISOString(); const prefix = `[${timestamp}] [${category.toUpperCase()}] [${level.toUpperCase()}]`; if (level === 'error') { console.error(prefix, message); } else if (level === 'warn') { console.warn(prefix, message); } else { console.log(prefix, message); } } info(category, message) { this.log('info', category, message); } error(category, message) { this.log('error', category, message); } warn(category, message) { this.log('warn', category, message); } debug(category, message) { this.log('debug', category, message); } getLogs(limit = 100, level, category) { let filtered = this.logs; if (level) { filtered = filtered.filter(log => log.level === level); } if (category) { filtered = filtered.filter(log => log.category === category); } return filtered.slice(0, limit); } clear() { this.logs = []; } } exports.logger = new LogService();