logger.js•796 B
// Proper logging instead of console.log everywhere
class Logger {
constructor(level = 'info') {
this.level = level;
this.levels = { error: 0, warn: 1, info: 2, debug: 3 };
}
log(level, message, data = null) {
if (this.levels[level] <= this.levels[this.level]) {
const timestamp = new Date().toISOString();
const logEntry = { timestamp, level, message };
if (data) logEntry.data = data;
console.log(JSON.stringify(logEntry));
}
}
error(message, data) { this.log('error', message, data); }
warn(message, data) { this.log('warn', message, data); }
info(message, data) { this.log('info', message, data); }
debug(message, data) { this.log('debug', message, data); }
}
export const logger = new Logger(process.env.LOG_LEVEL || 'info');