Skip to content
Effect Days 2026 Get your ticket

PlatformLogger

1 exports Added in v1.0.0 Source

Other

toFile

Added in v1.0.0 Source

Create a Logger from another string Logger that writes to the specified file.

Signature

declare const toFile: {
(path: string, options?: OpenFileOptions & {
readonly batchWindow?: DurationInput;
}): <Message>(self: Logger<Message, string>) => Effect<Logger<Message, void>, PlatformError, Scope | FileSystem>;
<Message>(self: Logger<Message, string>, path: string, options?: OpenFileOptions & {
readonly batchWindow?: DurationInput;
}): Effect<Logger<Message, void>, PlatformError, Scope | FileSystem>;
}

Example

import { PlatformLogger } from "@effect/platform"
import { NodeFileSystem, NodeRuntime } from "@effect/platform-node"
import { Effect, Layer, Logger } from "effect"
const fileLogger = Logger.logfmtLogger.pipe(
PlatformLogger.toFile("/tmp/log.txt")
)
const LoggerLive = Logger.replaceScoped(Logger.defaultLogger, fileLogger).pipe(
Layer.provide(NodeFileSystem.layer)
)
Effect.log("a").pipe(
Effect.zipRight(Effect.log("b")),
Effect.zipRight(Effect.log("c")),
Effect.provide(LoggerLive),
NodeRuntime.runMain
)