import fs from "node:fs"; import { Effect, Logger } from "effect";import * as Layer from "effect/Layer"; import { ServerConfig } from "./config"; export const ServerLoggerLive = Effect.gen(function* () { const { logsDir, serverLogPath } = yield* ServerConfig; yield* Effect.sync(() => { fs.mkdirSync(logsDir, { recursive: true }); }); const fileLogger = Logger.formatSimple.pipe(Logger.toFile(serverLogPath)); return Logger.layer([Logger.defaultLogger, fileLogger], { mergeWithExisting: false, });}).pipe(Layer.unwrap);
import fs from "node:fs";
import { Effect, Logger } from "effect";
import * as Layer from "effect/Layer";
import { ServerConfig } from "./config";
export const ServerLoggerLive = Effect.gen(function* () {
const { logsDir, serverLogPath } = yield* ServerConfig;
yield* Effect.sync(() => {
fs.mkdirSync(logsDir, { recursive: true });
});
const fileLogger = Logger.formatSimple.pipe(Logger.toFile(serverLogPath));
return Logger.layer([Logger.defaultLogger, fileLogger], {
mergeWithExisting: false,
});
}).pipe(Layer.unwrap);