@effect-aws/powertools-logger
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

@effect-aws/powertools-logger

Installation

npm install --save @effect-aws/powertools-logger

Usage

With default PowerTools Logger instance:

import { pipe } from "effect/Function";
import * as Effect from "effect/Effect";
import * as Logger from "@effect-aws/powertools-logger";

const program = pipe(
  Logger.logInfo("Info message with log meta", { foo: "bar" }),
  Effect.tap(() => Effect.logInfo("Native effect info message")),
);

const result = pipe(
  program,
  Effect.provide(Logger.DefaultPowerToolsLoggerLayer),
  Effect.runPromise,
);

With custom PowerTools Logger options:

import { pipe } from "effect/Function";
import * as Effect from "effect/Effect";
import * as Logger from "@effect-aws/powertools-logger";

const program = pipe(
  Logger.logDebug("Debug message with log meta", { foo: "bar" }),
  Effect.tap(() => Effect.logDebug("Native effect debug message")),
);

const result = pipe(
  program,
  Effect.provide(Logger.PowerToolsLoggerLayer),
  Effect.provideService(Logger.LoggerOptions, { logLevel: "DEBUG" }),
  Effect.runPromise,
);

With custom PowerTools Logger instance:

import { Logger as LoggerCtor } from "@aws-lambda-powertools/logger";
import { pipe } from "effect/Function";
import * as Effect from "effect/Effect";
import * as Logger from "@effect-aws/powertools-logger";

const program = pipe(
  Logger.logDebug("Debug message with log meta", { foo: "bar" }),
  Effect.tap(() => Effect.logDebug("Native effect debug message")),
);

const result = pipe(
  program,
  Effect.provide(Logger.BasePowerToolsLoggerLayer),
  Effect.provideService(
    Logger.LoggerInstance,
    new LoggerCtor({ logLevel: "DEBUG" }),
  ),
  Effect.runPromise,
);

Readme

Keywords

none

Package Sidebar

Install

npm i @effect-aws/powertools-logger

Weekly Downloads

32,163

Version

1.2.0

License

MIT

Unpacked Size

54.4 kB

Total Files

18

Last publish

Collaborators

  • f1oyd