Uecko_ERP/packages/rdx-logger/src/configure-logger.ts

18 lines
549 B
TypeScript

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}`);
}
}