(...message: ReadonlyArray<any>): Effect<void>Logs one or more messages at the DEBUG level.
Example (Logging debug messages)
import { Effect } from "effect"
const program = Effect.gen(function*() {
yield* Effect.logDebug("Debug mode enabled")
const userInput = { name: "Alice", age: 30 }
yield* Effect.logDebug("Processing user input:", userInput)
// Useful for detailed diagnostic information
yield* Effect.logDebug("Variable state:", "x=10", "y=20", "z=30")
})
Effect.runPromise(program)
// Output:
// timestamp=2023-... level=DEBUG message="Debug mode enabled"
// timestamp=2023-... level=DEBUG message="Processing user input: [object Object]"
// timestamp=2023-... level=DEBUG message="Variable state: x=10 y=20 z=30"export const const logDebug: (
...message: ReadonlyArray<any>
) => Effect<void>
Logs one or more messages at the DEBUG level.
Example (Logging debug messages)
import { Effect } from "effect"
const program = Effect.gen(function*() {
yield* Effect.logDebug("Debug mode enabled")
const userInput = { name: "Alice", age: 30 }
yield* Effect.logDebug("Processing user input:", userInput)
// Useful for detailed diagnostic information
yield* Effect.logDebug("Variable state:", "x=10", "y=20", "z=30")
})
Effect.runPromise(program)
// Output:
// timestamp=2023-... level=DEBUG message="Debug mode enabled"
// timestamp=2023-... level=DEBUG message="Processing user input: [object Object]"
// timestamp=2023-... level=DEBUG message="Variable state: x=10 y=20 z=30"
logDebug: (...message: readonly any[]message: interface ReadonlyArray<T>ReadonlyArray<any>) => interface Effect<out A, out E = never, out R = never>The Effect interface defines a value that lazily describes a workflow or
job. The workflow requires some context R, and may fail with an error of
type E, or succeed with a value of type A.
When to use
Use when you need to represent a lazy, composable workflow that can require
services, fail with a typed error, or succeed with a typed value.
Details
Effect values model resourceful interaction with the outside world,
including synchronous, asynchronous, concurrent, and parallel interaction.
They use a fiber-based concurrency model, with built-in support for
scheduling, fine-grained interruption, structured concurrency, and high
scalability.
To run an Effect value, you need a Runtime, which is a type that is
capable of executing Effect values.
Effect<void> = import internalinternal.const logWithLevel: (
level?: LogLevel.Severity
) => (
...message: ReadonlyArray<any>
) => Effect.Effect<void>
logWithLevel("Debug")