Context.Reference<LogLevel>Context reference for setting the minimum log level threshold. Log entries below this level will be filtered out completely.
When to use
Use to filter out log entries below a severity threshold.
Example (Setting the minimum log level)
import { Console, Effect, References } from "effect"
const configureMinimumLogging = Effect.gen(function*() {
// Get current minimum level (default is "Info")
const current = yield* References.MinimumLogLevel
console.log(current) // "Info"
// Set minimum level to Warn - Debug and Info will be filtered
yield* Effect.provideService(
Effect.gen(function*() {
const minLevel = yield* References.MinimumLogLevel
console.log(minLevel) // "Warn"
// These won't be processed at all
yield* Console.debug("Debug message") // Filtered out
yield* Console.info("Info message") // Filtered out
// These will be processed
yield* Console.warn("Warning message") // Shown
yield* Console.error("Error message") // Shown
}),
References.MinimumLogLevel,
"Warn"
)
// Reset to default Info level
yield* Effect.provideService(
Effect.gen(function*() {
const minLevel = yield* References.MinimumLogLevel
console.log(minLevel) // "Info"
// Now info messages will be processed
yield* Console.info("Info message") // Shown
}),
References.MinimumLogLevel,
"Info"
)
})references
Source effect/References.ts:4331 lines
export const const MinimumLogLevel: Context.Reference<LogLevel>const MinimumLogLevel: {
defaultValue: () => Shape;
of: (this: void, self: LogLevel) => LogLevel;
context: (self: LogLevel) => Context.Context<never>;
use: (f: (service: LogLevel) => Effect<A, E, R>) => Effect<A, E, R>;
useSync: (f: (service: LogLevel) => A) => Effect<A, never, never>;
Identifier: Identifier;
Service: Shape;
key: string;
stack: string | undefined;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
Context reference for setting the minimum log level threshold. Log entries below this
level will be filtered out completely.
When to use
Use to filter out log entries below a severity threshold.
Example (Setting the minimum log level)
import { Console, Effect, References } from "effect"
const configureMinimumLogging = Effect.gen(function*() {
// Get current minimum level (default is "Info")
const current = yield* References.MinimumLogLevel
console.log(current) // "Info"
// Set minimum level to Warn - Debug and Info will be filtered
yield* Effect.provideService(
Effect.gen(function*() {
const minLevel = yield* References.MinimumLogLevel
console.log(minLevel) // "Warn"
// These won't be processed at all
yield* Console.debug("Debug message") // Filtered out
yield* Console.info("Info message") // Filtered out
// These will be processed
yield* Console.warn("Warning message") // Shown
yield* Console.error("Error message") // Shown
}),
References.MinimumLogLevel,
"Warn"
)
// Reset to default Info level
yield* Effect.provideService(
Effect.gen(function*() {
const minLevel = yield* References.MinimumLogLevel
console.log(minLevel) // "Info"
// Now info messages will be processed
yield* Console.info("Info message") // Shown
}),
References.MinimumLogLevel,
"Info"
)
})
MinimumLogLevel: import ContextContext.type Context.Reference = /*unresolved*/ anyReference<import LogLevelLogLevel> = import referencesreferences.const MinimumLogLevel: Context.Reference<LogLevel>const MinimumLogLevel: {
defaultValue: () => Shape;
of: (this: void, self: LogLevel) => LogLevel;
context: (self: LogLevel) => Context.Context<never>;
use: (f: (service: LogLevel) => Effect<A, E, R>) => Effect<A, E, R>;
useSync: (f: (service: LogLevel) => A) => Effect<A, never, never>;
Identifier: Identifier;
Service: Shape;
key: string;
stack: string | undefined;
pipe: { <A>(this: A): A; <A, B = never>(this: A, ab: (_: A) => B): B; <A, B = never, C = never>(this: A, ab: (_: A) => B, bc: (_: B) => C): C; <A, B = never, C = never, D = never>(this: A, ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D): D; <…;
toString: () => string;
toJSON: () => unknown;
}
MinimumLogLevelReferenced by 1 symbols