diff --git a/packages/logger/src/Logger.ts b/packages/logger/src/Logger.ts index 265f8ab76a..cc00e6ee8a 100644 --- a/packages/logger/src/Logger.ts +++ b/packages/logger/src/Logger.ts @@ -1362,6 +1362,7 @@ class Logger extends Utility implements LoggerInterface { this.addToPowertoolsLogData({ awsRegion: getStringFromEnv({ key: 'AWS_REGION', + defaultValue: '', }), environment: environment || diff --git a/packages/logger/tests/unit/setPowertoolsLogData.test.ts b/packages/logger/tests/unit/setPowertoolsLogData.test.ts new file mode 100644 index 0000000000..696aec4438 --- /dev/null +++ b/packages/logger/tests/unit/setPowertoolsLogData.test.ts @@ -0,0 +1,44 @@ +import { Logger } from '../../src/Logger.js'; +import { describe, it, expect, vi, afterEach } from 'vitest'; + +describe('Logger PowertoolsLogData environment variables', () => { + afterEach(() => { + vi.unstubAllEnvs(); + }); + + it.each([ + [undefined, ''], + ['us-west-2', 'us-west-2'], + ])('sets awsRegion to %s when AWS_REGION env var is %s', (envValue, expected) => { + // Prepare + vi.stubEnv('AWS_REGION', envValue); + // Act + const logger = new Logger(); + // Assess + expect(logger['powertoolsLogData'].awsRegion).toBe(expected); + }); + + it.each([ + [undefined, ''], + ['prd', 'prd'], + ])('sets environment to %s when ENVIRONMENT env var is %s', (envValue, expected) => { + // Prepare + vi.stubEnv('ENVIRONMENT', envValue); + // Act + const logger = new Logger(); + // Assess + expect(logger['powertoolsLogData'].environment).toBe(expected); + }); + + it.each([ + [undefined, 'service_undefined'], + ['my-service', 'my-service'], + ])('sets serviceName to %s when POWERTOOLS_SERVICE_NAME env var is %s', (envValue, expected) => { + // Prepare + vi.stubEnv('POWERTOOLS_SERVICE_NAME', envValue); + // Act + const logger = new Logger(); + // Assess + expect(logger['powertoolsLogData'].serviceName).toBe(expected); + }); +}); \ No newline at end of file