18 lines
549 B
TypeScript
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}`);
|
|
}
|
|
}
|