Hyperlinkv0.8.0-beta.28

Logger

Logger.withConsoleErrorconsteffect/Logger.ts:306
<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.error.

When to use

Use when logger output should be routed to console.error, such as error logs that should appear on stderr instead of stdout.

Example (Writing logger output with console.error)

import { Effect, Logger } from "effect"

// Create an error-specific formatter
const errorFormatter = Logger.make((options) =>
  `ERROR [${options.date.toISOString()}]: ${options.message}`
)

// Route to console.error
const errorLogger = Logger.withConsoleError(errorFormatter)

const program = Effect.logError("Database connection failed").pipe(
  Effect.provide(Logger.layer([errorLogger]))
)
logging
Source effect/Logger.ts:3067 lines
export const withConsoleError = <Message, Output>(
  self: Logger<Message, Output>
): Logger<Message, void> =>
  effect.loggerMake((options) => {
    const console = options.fiber.getRef(effect.ConsoleRef)
    return console.error(self.log(options))
  })