Hyperlinkv0.8.0-beta.28

Logger

Logger.withConsoleLogconsteffect/Logger.ts:269
<Message, Output>(self: Logger<Message, Output>): Logger<Message, void>

Returns a new Logger that writes all output of the specified Logger to the console using console.log.

When to use

Use when a logger's string or object output should be routed to console.log for development or debugging.

Example (Writing logger output with console.log)

import { Effect, Logger } from "effect"

// Create a custom formatter
const customFormatter = Logger.make((options) =>
  `[${options.date.toISOString()}] ${options.logLevel}: ${options.message}`
)

// Route to console
const consoleLogger = Logger.withConsoleLog(customFormatter)

const program = Effect.log("Hello World").pipe(
  Effect.provide(Logger.layer([consoleLogger]))
)
logging
Source effect/Logger.ts:2697 lines
export const withConsoleLog = <Message, Output>(
  self: Logger<Message, Output>
): Logger<Message, void> =>
  effect.loggerMake((options) => {
    const console = options.fiber.getRef(effect.ConsoleRef)
    return console.log(self.log(options))
  })
Referenced by 3 symbols