/** * @since 1.0.0 */ import type { DurationInput } from "effect/Duration"; import type { Effect } from "effect/Effect"; import type * as Logger from "effect/Logger"; import type { Scope } from "effect/Scope"; import type { PlatformError } from "./Error.js"; import type { FileSystem, OpenFileOptions } from "./FileSystem.js"; /** * Create a Logger from another string Logger that writes to the specified file. * * **Example** * * ```ts * 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 * ) * ``` * * @since 1.0.0 */ export declare const toFile: { /** * Create a Logger from another string Logger that writes to the specified file. * * **Example** * * ```ts * 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 * ) * ``` * * @since 1.0.0 */ (path: string, options?: (OpenFileOptions & { readonly batchWindow?: DurationInput | undefined; }) | undefined): (self: Logger.Logger) => Effect, PlatformError, Scope | FileSystem>; /** * Create a Logger from another string Logger that writes to the specified file. * * **Example** * * ```ts * 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 * ) * ``` * * @since 1.0.0 */ (self: Logger.Logger, path: string, options?: (OpenFileOptions & { readonly batchWindow?: DurationInput | undefined; }) | undefined): Effect, PlatformError, Scope | FileSystem>; }; //# sourceMappingURL=PlatformLogger.d.ts.map