Skip to content
Effect Days 2026 Get your ticket

LogLevel

26 exports Added in v2.0.0 Source

Constructors

All

Added in v2.0.0 Source

Signature

declare const All: LogLevel

allLevels

Added in v2.0.0 Source

Signature

declare const allLevels: readonly Array<LogLevel>

Debug

Added in v2.0.0 Source

Signature

declare const Debug: LogLevel

Error

Added in v2.0.0 Source

Signature

declare const Error: LogLevel

Fatal

Added in v2.0.0 Source

Signature

declare const Fatal: LogLevel

Info

Added in v2.0.0 Source

Signature

declare const Info: LogLevel

None

Added in v2.0.0 Source

Signature

declare const None: LogLevel

Trace

Added in v2.0.0 Source

Signature

declare const Trace: LogLevel

Warning

Added in v2.0.0 Source

Signature

declare const Warning: LogLevel

Conversions

fromLiteral

Added in v2.0.0 Source

Signature

declare function fromLiteral(literal: "All" | "Fatal" | "Error" | "Warning" | "Info" | "Debug" | "Trace" | "None"): LogLevel

Instances

Order

Added in v2.0.0 Source

Signature

declare const Order: order.Order<LogLevel>

Model

All interface

Added in v2.0.0 Source

Signature

interface All extends Pipeable {
readonly _tag: "All";
readonly label: "ALL";
readonly ordinal: number;
readonly syslog: 0;
}

Debug interface

Added in v2.0.0 Source

Signature

interface Debug extends Pipeable {
readonly _tag: "Debug";
readonly label: "DEBUG";
readonly ordinal: number;
readonly syslog: 7;
}

Error interface

Added in v2.0.0 Source

Signature

interface Error extends Pipeable {
readonly _tag: "Error";
readonly label: "ERROR";
readonly ordinal: number;
readonly syslog: 3;
}

Fatal interface

Added in v2.0.0 Source

Signature

interface Fatal extends Pipeable {
readonly _tag: "Fatal";
readonly label: "FATAL";
readonly ordinal: number;
readonly syslog: 2;
}

Info interface

Added in v2.0.0 Source

Signature

interface Info extends Pipeable {
readonly _tag: "Info";
readonly label: "INFO";
readonly ordinal: number;
readonly syslog: 6;
}

Literal type

Added in v2.0.0 Source

Signature

type Literal = LogLevel["_tag"]

LogLevel type

Added in v2.0.0 Source

A LogLevel represents the log level associated with an individual logging operation. Log levels are used both to describe the granularity (or importance) of individual log statements, as well as to enable tuning verbosity of log output.

Signature

type LogLevel = All | Fatal | Error | Warning | Info | Debug | Trace | None

None interface

Added in v2.0.0 Source

Signature

interface None extends Pipeable {
readonly _tag: "None";
readonly label: "OFF";
readonly ordinal: number;
readonly syslog: 7;
}

Trace interface

Added in v2.0.0 Source

Signature

interface Trace extends Pipeable {
readonly _tag: "Trace";
readonly label: "TRACE";
readonly ordinal: number;
readonly syslog: 7;
}

Warning interface

Added in v2.0.0 Source

Signature

interface Warning extends Pipeable {
readonly _tag: "Warning";
readonly label: "WARN";
readonly ordinal: number;
readonly syslog: 4;
}

Ordering

greaterThan

Added in v2.0.0 Source

Signature

declare const greaterThan: {
(that: LogLevel): (self: LogLevel) => boolean;
(self: LogLevel, that: LogLevel): boolean;
}

Signature

declare const greaterThanEqual: {
(that: LogLevel): (self: LogLevel) => boolean;
(self: LogLevel, that: LogLevel): boolean;
}

lessThan

Added in v2.0.0 Source

Signature

declare const lessThan: {
(that: LogLevel): (self: LogLevel) => boolean;
(self: LogLevel, that: LogLevel): boolean;
}

Signature

declare const lessThanEqual: {
(that: LogLevel): (self: LogLevel) => boolean;
(self: LogLevel, that: LogLevel): boolean;
}

Utils

locally

Added in v2.0.0 Source

Temporarily sets a LogLevel for an Effect workflow.

Details

This function allows you to apply a specific LogLevel locally to an Effect workflow. Once the workflow completes, the LogLevel reverts to its previous state.

When to Use

This is particularly useful when you want to adjust the verbosity of logging for specific parts of your program without affecting the global log level.

Signature

declare const locally: {
(self: LogLevel): <A, E, R>(use: Effect<A, E, R>) => Effect<A, E, R>;
<A, E, R>(use: Effect<A, E, R>, self: LogLevel): Effect<A, E, R>;
}

Example

import { Effect, LogLevel } from "effect"
const program = Effect.gen(function*() {
yield* Effect.log("message1")
yield* Effect.gen(function*() {
yield* Effect.log("message2")
yield* Effect.log("message3")
}).pipe(LogLevel.locally(LogLevel.Warning))
})
Effect.runFork(program)
// timestamp=... level=INFO fiber=#0 message=message1
// timestamp=... level=WARN fiber=#0 message=message2
// timestamp=... level=WARN fiber=#0 message=message3