import { createConsoleLogger, createSentryLogger, createWinstonLogger } from "./strategies";
import type { ILogger } from "./types";

export type LoggerStrategy = "console" | "winston" | "sentry";

export function configureLogger(strategy: LoggerStrategy = "console"): ILogger {
  switch (strategy) {
    case "console":
      return createConsoleLogger();
    case "winston":
      return createWinstonLogger();
    case "sentry":
      return createSentryLogger();
    default:
      throw new Error(`Unknown logger strategy: ${strategy}`);
  }
}
