Logger
constLogger:object
Defined in: src/Runtime.ts:269
Pre-configured Effect Logger layers for the Midday SDK.
Provides ready-to-use logging configurations that can be applied
to any Effect program via Effect.provide().
Type Declaration
Default
Default:
Layer<never,never,never> =EffectLogger.pretty
Default SDK logger (pretty in development).
Since
0.3.0
json
json:
Layer<never,never,never> =EffectLogger.json
JSON structured logger. Best for production and log aggregation systems.
Since
0.3.0
logFmt
logFmt:
Layer<never,never,never> =EffectLogger.logFmt
Logfmt logger (key=value format). Compatible with many log analysis tools.
Since
0.3.0
none
none:
Layer<never,never,never>
No-op logger that discards all messages. Use when logging should be completely disabled.
Since
0.3.0
pretty
pretty:
Layer<never,never,never> =EffectLogger.pretty
Pretty console logger with colors and formatting. Best for development.
Since
0.3.0
withDebug
withDebug:
Layer<never,never,never>
Set minimum log level to Debug (shows all messages).
Since
0.3.0
withError
withError:
Layer<never,never,never>
Set minimum log level to Error.
Since
0.3.0
withInfo
withInfo:
Layer<never,never,never>
Set minimum log level to Info (default).
Since
0.3.0
withWarning
withWarning:
Layer<never,never,never>
Set minimum log level to Warning.
Since
0.3.0
fromEnabled()
fromEnabled(
enabled):Layer<never>
Create a logger layer based on enabled flag.
Provides backwards compatibility with the logging: boolean option.
When enabled: pretty logger + Debug level visible When disabled: pretty logger only (Debug hidden by default)
Parameters
enabled
boolean
Whether debug logging is enabled
Returns
Layer<never>
Logger layer
Since
0.3.0
Example
import { Effect } from 'effect';import * as Midday from '@no-witness-labs/midday-sdk';
const program = Effect.gen(function* () { yield* Effect.logInfo('Hello'); yield* Effect.logDebug('Debug info');});
// Pretty console output (development)Effect.runFork(program.pipe(Effect.provide(Midday.Runtime.Logger.pretty)));
// JSON output (production)Effect.runFork(program.pipe(Effect.provide(Midday.Runtime.Logger.json)));
// Show debug messagesEffect.runFork(program.pipe(Effect.provide(Midday.Runtime.Logger.withDebug)));
// Disable all loggingEffect.runFork(program.pipe(Effect.provide(Midday.Runtime.Logger.none)));Since
0.3.0