import { Injectable } from '@severo-tech/injection-decorator';
import logger from '@zenvia/logger';
import { ILogger } from '../../application/contracts';

@Injectable()
export class ZenviaLogger implements ILogger {
  public async error(message: string, ...opts: any[]): Promise<void> {
    logger.error(message, ...opts);
  }

  public async warn(message: string, ...opts: any[]): Promise<void> {
    logger.warn(message, ...opts);
  }

  public async info(message: string, ...opts: any[]): Promise<void> {
    logger.info(message, ...opts);
  }

  public async debug(message: string, ...opts: any[]): Promise<void> {
    logger.debug(message, ...opts);
  }
}
