export class Logger {
  private context: string;
  
  constructor(context: string) {
    this.context = context;
  }
  
  info(message: string, data?: any): void {
    console.log(`[${this.getTimestamp()}] [${this.context}] [INFO] ${message}`, data || '');
  }
  
  warn(message: string, data?: any): void {
    console.warn(`[${this.getTimestamp()}] [${this.context}] [WARN] ${message}`, data || '');
  }
  
  error(message: string, data?: any): void {
    console.error(`[${this.getTimestamp()}] [${this.context}] [ERROR] ${message}`, data || '');
  }
  
  debug(message: string, data?: any): void {
    if (process.env.NODE_ENV === 'development') {
      console.debug(`[${this.getTimestamp()}] [${this.context}] [DEBUG] ${message}`, data || '');
    }
  }
  
  private getTimestamp(): string {
    return new Date().toISOString();
  }
}
