const LEVELS = { debug: 10, info: 20, warn: 30, error: 40 }; function currentLevel() { const raw = (process.env.LOG_LEVEL ?? 'info').toLowerCase(); return LEVELS[raw] ?? LEVELS.info; } function timestamp() { return new Date().toISOString(); } function log(level, ...args) { if (LEVELS[level] < currentLevel()) return; const stream = level === 'error' || level === 'warn' ? console.error : console.log; stream(`[${timestamp()}] [${level.toUpperCase()}]`, ...args); } export const logger = { debug: (...a) => log('debug', ...a), info: (...a) => log('info', ...a), warn: (...a) => log('warn', ...a), error: (...a) => log('error', ...a), }; export default logger;