import type { LoggerPort } from '../../../application/ports/LoggerPort';
import type { LogContext } from '../../../application/ports/LoggerContext';
import type { Logger } from '@core/shared/application';

export class NoOpLogAdapter implements LoggerPort, Logger {
  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): LoggerPort {
    return this;
  }

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