type LogLevel = "info" | "warn" | "error" | "debug"; function log( level: LogLevel, message: string, data?: Record, ): void { const entry = data ? { level, message, ...data } : { level, message }; const line = JSON.stringify(entry); if (level === "error" || level === "warn") { console.error(line); } else { console.log(line); } } export const logger = { info: (message: string, data?: Record) => log("info", message, data), warn: (message: string, data?: Record) => log("warn", message, data), error: (message: string, data?: Record) => log("error", message, data), debug: (message: string, data?: Record) => log("debug", message, data), };