sukovanej / effect-log

Log batteries for effect-ts

Home Page:https://sukovanej.github.io/effect-log/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

effect-log

Logging batteris for effect-ts.

Use PrettyLogger.make to create the pretty logger or PrettyLogger.layer to obtain a layer replacing the default logger. Optionally, these functions accept an options object configuring what information gets to the output.

import { Effect, pipe } from "effect";
import { PrettyLog } from "effect-log";

import { exampleEffect } from "./example-logging-effect";

// These are the defaults. You can omit the argument
// completely if you're okay with the defaults.
const logger = PrettyLog.layer({
  showFiberId: true,
  showTime: true,
  showSpans: true,
  enableColors: true,
});

pipe(exampleEffect, Effect.provide(logger), Effect.runSync);

pretty

Use JsonLogger.make to create the JSON logger or JsonLogger.layer to obtain a layer replacing the default loggger. Optionally, these functions accept an options object configuring what information gets to the output.

import { Effect, pipe } from "effect";
import { JsonLogger } from "effect-log";

import { exampleEffect } from "./example-logging-effect";

// These are the defaults. You can omit the argument
// completely if you're okay with the defaults.
const logger = JsonLogger.layer({
  showFiberId: true,
  showTime: true,
  showSpans: true,
  messageField: "message",
});

pipe(exampleEffect, Effect.provide(logger), Effect.runSync);

json

About

Log batteries for effect-ts

https://sukovanej.github.io/effect-log/

License:MIT License


Languages

Language:TypeScript 78.2%Language:JavaScript 21.8%