@sonat-aws-tools/lamda-logger-ts
TypeScript icon, indicating that this package has built-in type declarations

1.1.7 • Public • Published

SonatLogger

The SonatLogger class extends the AWS Lambda Powertools Logger to provide enhanced logging capabilities for your AWS Lambda functions. It includes additional configuration options and custom log formatters.

[!NOTE] > This package is a work in progress. The purpose of this package is to be able to create a logger instance and configure it with one single command. Huge shoutout to the team behind AWS Lambda Powertools Logger for their great work with their package @aws-lambda-powertools/logger.

Installation

npm install @sonat-aws-tools/lamda-logger-ts

Usage

import { SonatLogger } from '@sonat-aws-tools/lamda-logger-ts';

const logger = new SonatLogger({
  serviceName: 'MyService',
  environment: 'production',
  timeZone: 'UTC',
  formatter: 'detailed',
  metricNamespace: 'MyServiceMetrics',
  logLevelThreshold: 'info',
  logEvents: true,
  loggerSampleRate: '0.1',
});

logger.info('This is an info log');

[!TIP] To be able to set the formatter and environment params you need to use the enums by importing the SonatLoggerParams.

import { SonatLogger, SonatLoggerParams } from "@sonat-aws-tools/lamda-logger-ts";

Configuration Options

  • serviceName: The name of the service using the logger.
  • environment: The environment in which the logger is running (e.g., ‘dev’, ‘prod’).
  • timeZone: The time zone to be used for logging timestamps.
  • formatter: The log formatter to be used. Options are ‘compact’ or ‘detailed’.
  • metricNamespace: The namespace for metrics.
  • logLevelThreshold: The threshold for log levels (e.g., ‘info’, ‘error’).
  • logEvents: Whether to log events.
  • loggerSampleRate: The sample rate for logging.

Example

const logger = new SonatLogger({
  serviceName: 'MyService',
  environment: 'development',
  timeZone: 'UTC',
  formatter: 'compact',
  metricNamespace: 'MyServiceMetrics',
  logLevelThreshold: 'debug',
  logEvents: false,
  loggerSampleRate: '1.0',
});

logger.debug('This is a debug log');

Methods

  • getPackageVersion: Retrieves the package version and name from package.json.
  • setEnvironmentValiablesForLogger: Sets environment variables for the logger based on the provided options.

Readme

Keywords

Package Sidebar

Install

npm i @sonat-aws-tools/lamda-logger-ts

Weekly Downloads

34

Version

1.1.7

License

MIT

Unpacked Size

56.3 kB

Total Files

8

Last publish

Collaborators

  • iconspiracy