Skip to content

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