@sonat-aws-tools/lamda-logger-ts
v1.1.7
Published
A wrapper class for logging aws lambda events
Downloads
1,219
Readme
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.