14 lines
535 B
TypeScript
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);
|