Package: effect
Module: Logger
Returns a new Logger that writes all output of the specified Logger to
the console.
Details
Will use the appropriate console method (i.e. console.log, console.error,
etc.) based upon the current LogLevel.
Debug uses console.debug, Info uses console.info, Trace uses
console.trace, Warn uses console.warn, Error and Fatal use
console.error, and all other levels use console.log.
Example (Writing logs with level-based console methods)
import { Effect, Logger } from "effect"
const formatter = Logger.make((options) =>
`[${options.logLevel}] ${options.message}`
)
const leveledLogger = Logger.withLeveledConsole(formatter)
const program = Effect.gen(function*() {
yield* Effect.logInfo("Info message") // -> console.info
yield* Effect.logWarning("Warning") // -> console.warn
yield* Effect.logError("Error occurred") // -> console.error
yield* Effect.logDebug("Debug info") // -> console.debug
}).pipe(
Effect.provide(Logger.layer([leveledLogger]))
)
Signature
declare const withLeveledConsole: <Message, Output>(self: Logger<Message, Output>) => Logger<Message, void>
Since v3.8.0