type LogPayload = Record; const log = (level: 'info' | 'error' | 'warn', message: string, payload?: LogPayload) => { const entry = { level, message, timestamp: new Date().toISOString(), ...payload, }; if (level === 'error') { console.error(entry); return; } if (level === 'warn') { console.warn(entry); return; } console.log(entry); }; export const logger = { info(message: string, payload?: LogPayload) { log('info', message, payload); }, warn(message: string, payload?: LogPayload) { log('warn', message, payload); }, error(message: string, payload?: LogPayload) { log('error', message, payload); }, };