import { injectable } from 'inversify';
import { ILogger } from './i-logger';

/**
 * Mock of a logger, does not log anywhere
 */
@injectable()
export class LoggerMock implements ILogger {
  public getLogFile(): string {
    return '';
  }

  public getExceptionsLogFile(): string {
    return '';
  }

  public log(): Promise<void> {
    return Promise.resolve();
  }

  public fatal(): Promise<void> {
    return this.log();
  }

  public error(): Promise<void> {
    return this.log();
  }

  public warning(): Promise<void> {
    return this.log();
  }

  public notice(): Promise<void> {
    return this.log();
  }

  public info(): Promise<void> {
    return this.log();
  }

  public debug(): Promise<void> {
    return this.log();
  }

  public exception(): Promise<void> {
    return Promise.resolve();
  }
}
