16 lines · 607 B · TypeScript
RawDownload
import * as Effect from "effect/Effect";import * as Logger from "effect/Logger";import * as References from "effect/References";import * as Layer from "effect/Layer"; import { ServerConfig } from "./config.ts"; export const ServerLoggerLive = Effect.gen(function* () {  const config = yield* ServerConfig;  const minimumLogLevelLayer = Layer.succeed(References.MinimumLogLevel, config.logLevel);  const loggerLayer = Logger.layer([Logger.consolePretty(), Logger.tracerLogger], {    mergeWithExisting: false,  });   return Layer.mergeAll(loggerLayer, minimumLogLevelLayer);}).pipe(Layer.unwrap);