(...message: ReadonlyArray<any>): Effect<void>Logs one or more messages at the TRACE level.
Example (Logging trace messages)
import { Effect } from "effect"
const program = Effect.gen(function*() {
yield* Effect.logTrace("Entering function processData")
// Trace detailed execution flow
for (let i = 0; i < 3; i++) {
yield* Effect.logTrace("Loop iteration:", i, "Processing item")
}
yield* Effect.logTrace("Exiting function processData")
})
Effect.runPromise(program)
// Output:
// timestamp=2023-... level=TRACE message="Entering function processData"
// timestamp=2023-... level=TRACE message="Loop iteration: 0 Processing item"
// timestamp=2023-... level=TRACE message="Loop iteration: 1 Processing item"
// timestamp=2023-... level=TRACE message="Loop iteration: 2 Processing item"
// timestamp=2023-... level=TRACE message="Exiting function processData"export const const logTrace: (
...message: ReadonlyArray<any>
) => Effect<void>
Logs one or more messages at the TRACE level.
Example (Logging trace messages)
import { Effect } from "effect"
const program = Effect.gen(function*() {
yield* Effect.logTrace("Entering function processData")
// Trace detailed execution flow
for (let i = 0; i < 3; i++) {
yield* Effect.logTrace("Loop iteration:", i, "Processing item")
}
yield* Effect.logTrace("Exiting function processData")
})
Effect.runPromise(program)
// Output:
// timestamp=2023-... level=TRACE message="Entering function processData"
// timestamp=2023-... level=TRACE message="Loop iteration: 0 Processing item"
// timestamp=2023-... level=TRACE message="Loop iteration: 1 Processing item"
// timestamp=2023-... level=TRACE message="Loop iteration: 2 Processing item"
// timestamp=2023-... level=TRACE message="Exiting function processData"
logTrace: (...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("Trace")