import type { ILogger, LogContext } from '../../../application/ports/ILogger';

export class NoOpLogAdapter implements ILogger {
  debug(_message: string, _context?: LogContext): void {}

  info(_message: string, _context?: LogContext): void {}

  warn(_message: string, _context?: LogContext): void {}

  error(_message: string, _error?: Error, _context?: LogContext): void {}

  fatal(_message: string, _error?: Error, _context?: LogContext): void {}

  child(_context: LogContext): ILogger {
    return this;
  }

  async flush(): Promise<void> {}
}