@gus-eip/loggers
v4.4.4
Published
@gus-eip/loggers is a package designed to provide logging functionality for your Node.js applications.
Readme
@gus-eip/loggers
Overview
@gus-eip/loggers is a package designed to provide logging functionality for your Node.js applications. It offers integration with various logging services, including CloudWatchLogger.
Installation
You can install the package via npm:
npm install @gus-eip/loggersUsage
To use the logger module in your application, follow these steps:
- Import
LoggerModulefrom@gus-eip/loggersinside your module.
import { LoggerModule } from '@gus-eip/loggers';- Configure
LoggerModulein your module by calling theforRootmethod.
LoggerModule.forRoot({
region: process.env.REGION,
logGroupName: process.env.LOGGER_LOG_GROUP_NAME,
options: 'CloudWatchLogger',
}),Ensure you provide the necessary environment variables (REGION and LOGGER_LOG_GROUP_NAME) for configuration.
Configuration Options
region: The AWS region where your CloudWatch logs are located.logGroupName: The name of the log group where logs will be sent.options: The options for the logger. Currently, only'CloudWatchLogger'is supported.
Example
import { Module } from '@nestjs/common';
import { LoggerModule } from '@gus-eip/loggers';
@Module({
imports: [
LoggerModule.forRoot({
region: process.env.REGION,
logGroupName: process.env.LOGGER_LOG_GROUP_NAME,
options: 'CloudWatchLogger',
}),
],
})
export class AppModule {}This repository requires AWS SSM Parameter Store access to retrieve the SQS URL dynamically. Ensure that the application has permission to read LOGGER_SQS_URL.
License
This project is licensed under the MIT License - see the LICENSE file for details.
OAP-EIP LOGGER
Whenever any EIP integration (for example: oap-handlers, oap-backend, eip-integration-handlers, platform-events-listener, or gus-middleware-service) introduces a new use case, event, or component, follow these steps to keep this package as the single source of truth for EIP logging:
Add the new use case, event and component identifiers to
enum.ts.Add a user-friendly message/label for the use case in
mappings/usecase-mapping.ts.Update
mappings/source-destination-mapping.tsto include the use case and the corresponding brand(s) with theirsourceanddestinationvalues. If the use case already exists and a newly onboarded brand uses it, add the brand under that existing use case entry.
Notes:
- The
mappings/source-destination-mapping.tsfile is the ultimate source of truth for EIP logger routing and should accurately reflect brand → use case → (source, destination) mappings. - Keep
enum.tsidentifiers stable. Prefer adding new identifiers rather than renaming existing ones to avoid breaking downstream projects.
Publishing and downstream updates:
- After making changes, bump and publish this package.
- Then update the dependency version used by the
gus-eip-analyticsrepository: set the new package version in thedevbranch for development deployments and in theprodbranch for production deployments so downstream services pick up the release.
