journal-media-vue/src/services/logger.ts
2025-02-21 23:23:33 +01:00

14 lines
535 B
TypeScript

import type { LogLevel } from "effect/LogLevel";
import { Config, ConfigProvider, Effect, Layer, Logger, pipe } from "effect";
const EnvConfigProvider = Layer.setConfigProvider(ConfigProvider.fromMap(new Map([["LOG_LEVEL", "DEBUG"]])));
const LogLevelLive = pipe(
Config.logLevel("LOG_LEVEL"),
Effect.andThen((level: LogLevel) => Logger.minimumLogLevel(level)),
Layer.unwrapEffect, // Convertis l'Effect en Layer
Layer.provide(EnvConfigProvider),
);
export const PrettyLogger = Layer.mergeAll(Logger.pretty, LogLevelLive);