diff --git a/infrastructure/terraform/components/api/module_authorizer_lambda.tf b/infrastructure/terraform/components/api/module_authorizer_lambda.tf index 9a9b98acc..7fade5bae 100644 --- a/infrastructure/terraform/components/api/module_authorizer_lambda.tf +++ b/infrastructure/terraform/components/api/module_authorizer_lambda.tf @@ -39,6 +39,7 @@ module "authorizer_lambda" { CLIENT_CERTIFICATE_EXPIRATION_ALERT_DAYS = 30, APIM_SUPPLIER_ID_HEADER = "NHSD-Supplier-ID", SUPPLIERS_TABLE_NAME = aws_dynamodb_table.suppliers.name + LOG_REFERENCE = AUTHORIZER } } diff --git a/infrastructure/terraform/components/api/module_lambda_amendment_event_transformer.tf b/infrastructure/terraform/components/api/module_lambda_amendment_event_transformer.tf index 3cd0d5de2..0714bbc83 100644 --- a/infrastructure/terraform/components/api/module_lambda_amendment_event_transformer.tf +++ b/infrastructure/terraform/components/api/module_lambda_amendment_event_transformer.tf @@ -34,7 +34,9 @@ module "amendment_event_transformer" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = AMENDMENT_EVENT_TRANSFORMER + }) } data "aws_iam_policy_document" "amendment_event_transformer" { diff --git a/infrastructure/terraform/components/api/module_lambda_get_letter.tf b/infrastructure/terraform/components/api/module_lambda_get_letter.tf index 845266816..7781cfc7a 100644 --- a/infrastructure/terraform/components/api/module_lambda_get_letter.tf +++ b/infrastructure/terraform/components/api/module_lambda_get_letter.tf @@ -34,7 +34,9 @@ module "get_letter" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = GET_LETTER + }) } data "aws_iam_policy_document" "get_letter_lambda" { diff --git a/infrastructure/terraform/components/api/module_lambda_get_letter_data.tf b/infrastructure/terraform/components/api/module_lambda_get_letter_data.tf index 1129c6040..5c5a8d9db 100644 --- a/infrastructure/terraform/components/api/module_lambda_get_letter_data.tf +++ b/infrastructure/terraform/components/api/module_lambda_get_letter_data.tf @@ -34,7 +34,9 @@ module "get_letter_data" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = GET_LETTER_DATA + }) } data "aws_iam_policy_document" "get_letter_data_lambda" { diff --git a/infrastructure/terraform/components/api/module_lambda_get_letters.tf b/infrastructure/terraform/components/api/module_lambda_get_letters.tf index 8c8482136..3349c38e2 100644 --- a/infrastructure/terraform/components/api/module_lambda_get_letters.tf +++ b/infrastructure/terraform/components/api/module_lambda_get_letters.tf @@ -35,7 +35,8 @@ module "get_letters" { log_subscription_role_arn = local.acct.log_subscription_role_arn lambda_env_vars = merge(local.common_lambda_env_vars, { - MAX_LIMIT = var.max_get_limit + MAX_LIMIT = var.max_get_limit + LOG_REFERENCE = GET_LETTERS }) } diff --git a/infrastructure/terraform/components/api/module_lambda_get_mi.tf b/infrastructure/terraform/components/api/module_lambda_get_mi.tf index 456bd588f..df38c02d5 100644 --- a/infrastructure/terraform/components/api/module_lambda_get_mi.tf +++ b/infrastructure/terraform/components/api/module_lambda_get_mi.tf @@ -34,7 +34,8 @@ module "get_mi" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = GET_MI }) } data "aws_iam_policy_document" "get_mi_lambda" { diff --git a/infrastructure/terraform/components/api/module_lambda_get_status.tf b/infrastructure/terraform/components/api/module_lambda_get_status.tf index 7582de805..6cd82379b 100644 --- a/infrastructure/terraform/components/api/module_lambda_get_status.tf +++ b/infrastructure/terraform/components/api/module_lambda_get_status.tf @@ -34,7 +34,9 @@ module "get_status" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = GET_STATUS + }) } data "aws_iam_policy_document" "get_status_lambda" { diff --git a/infrastructure/terraform/components/api/module_lambda_letter_updates_transformer.tf b/infrastructure/terraform/components/api/module_lambda_letter_updates_transformer.tf index 20a117f50..060fd2a19 100644 --- a/infrastructure/terraform/components/api/module_lambda_letter_updates_transformer.tf +++ b/infrastructure/terraform/components/api/module_lambda_letter_updates_transformer.tf @@ -37,6 +37,7 @@ module "letter_updates_transformer" { lambda_env_vars = merge(local.common_lambda_env_vars, { EVENTPUB_SNS_TOPIC_ARN = "${module.eventpub.sns_topic.arn}", EVENT_SOURCE = var.letter_event_source + LOG_REFERENCE = LETTER_UPDATES_TRANSFORMER }) } diff --git a/infrastructure/terraform/components/api/module_lambda_mi_updates_transformer.tf b/infrastructure/terraform/components/api/module_lambda_mi_updates_transformer.tf index 47bdbbfe0..4c10c76d8 100644 --- a/infrastructure/terraform/components/api/module_lambda_mi_updates_transformer.tf +++ b/infrastructure/terraform/components/api/module_lambda_mi_updates_transformer.tf @@ -37,6 +37,7 @@ module "mi_updates_transformer" { lambda_env_vars = merge(local.common_lambda_env_vars, { EVENTPUB_SNS_TOPIC_ARN = "${module.eventpub.sns_topic.arn}" + LOG_REFERENCE = MI_UPDATES_TRANSFORMER }) } diff --git a/infrastructure/terraform/components/api/module_lambda_patch_letter.tf b/infrastructure/terraform/components/api/module_lambda_patch_letter.tf index afc612c71..f8516ac23 100644 --- a/infrastructure/terraform/components/api/module_lambda_patch_letter.tf +++ b/infrastructure/terraform/components/api/module_lambda_patch_letter.tf @@ -35,7 +35,8 @@ module "patch_letter" { log_subscription_role_arn = local.acct.log_subscription_role_arn lambda_env_vars = merge(local.common_lambda_env_vars, { - QUEUE_URL = module.amendments_queue.sqs_queue_url + QUEUE_URL = module.amendments_queue.sqs_queue_url + LOG_REFERENCE = PATCH_LETTERS }) } diff --git a/infrastructure/terraform/components/api/module_lambda_post_letters.tf b/infrastructure/terraform/components/api/module_lambda_post_letters.tf index 272f4c9e9..7b9d8e61c 100644 --- a/infrastructure/terraform/components/api/module_lambda_post_letters.tf +++ b/infrastructure/terraform/components/api/module_lambda_post_letters.tf @@ -35,8 +35,9 @@ module "post_letters" { log_subscription_role_arn = local.acct.log_subscription_role_arn lambda_env_vars = merge(local.common_lambda_env_vars, { - QUEUE_URL = module.amendments_queue.sqs_queue_url, - MAX_LIMIT = var.max_get_limit + QUEUE_URL = module.amendments_queue.sqs_queue_url, + MAX_LIMIT = var.max_get_limit + LOG_REFERENCE = POST_LETTERS }) } diff --git a/infrastructure/terraform/components/api/module_lambda_post_mi.tf b/infrastructure/terraform/components/api/module_lambda_post_mi.tf index be7ae4eed..f1152fbc9 100644 --- a/infrastructure/terraform/components/api/module_lambda_post_mi.tf +++ b/infrastructure/terraform/components/api/module_lambda_post_mi.tf @@ -34,7 +34,9 @@ module "post_mi" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = POST_MI + }) } data "aws_iam_policy_document" "post_mi_lambda" { diff --git a/infrastructure/terraform/components/api/module_lambda_supplier_allocator.tf b/infrastructure/terraform/components/api/module_lambda_supplier_allocator.tf index b0354bd88..7ae1906cd 100644 --- a/infrastructure/terraform/components/api/module_lambda_supplier_allocator.tf +++ b/infrastructure/terraform/components/api/module_lambda_supplier_allocator.tf @@ -37,6 +37,7 @@ module "supplier_allocator" { lambda_env_vars = merge(local.common_lambda_env_vars, { UPSERT_LETTERS_QUEUE_URL = module.sqs_letter_updates.sqs_queue_url, IDEMPOTENCY_TABLE_NAME = aws_dynamodb_table.idempotency.name + LOG_REFERENCE = SUPPLIER_ALLOCATOR }) } diff --git a/infrastructure/terraform/components/api/module_lambda_supplier_config_ingress.tf b/infrastructure/terraform/components/api/module_lambda_supplier_config_ingress.tf index 8073ffef6..568afc506 100644 --- a/infrastructure/terraform/components/api/module_lambda_supplier_config_ingress.tf +++ b/infrastructure/terraform/components/api/module_lambda_supplier_config_ingress.tf @@ -34,7 +34,9 @@ module "supplier_config_ingress" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = SUPPLIER_CONFIG_INGRESS + }) } data "aws_iam_policy_document" "supplier_config_ingress_lambda" { diff --git a/infrastructure/terraform/components/api/module_lambda_supplier_mock.tf b/infrastructure/terraform/components/api/module_lambda_supplier_mock.tf index eb17faf34..649f1a565 100644 --- a/infrastructure/terraform/components/api/module_lambda_supplier_mock.tf +++ b/infrastructure/terraform/components/api/module_lambda_supplier_mock.tf @@ -40,6 +40,7 @@ module "supplier_mock" { GET_LETTERS_FUNCTION_NAME = module.get_letters.function_name PATCH_LETTER_FUNCTION_NAME = module.patch_letter.function_name SUPPLIER_MOCK_CONFIG_PARAM_NAME = aws_ssm_parameter.supplier_mock_config[0].name + LOG_REFERENCE = SUPPLIER_MOCK }) } diff --git a/infrastructure/terraform/components/api/module_lambda_update_letter_queue.tf b/infrastructure/terraform/components/api/module_lambda_update_letter_queue.tf index 418bd216a..b8dcb63d3 100644 --- a/infrastructure/terraform/components/api/module_lambda_update_letter_queue.tf +++ b/infrastructure/terraform/components/api/module_lambda_update_letter_queue.tf @@ -34,7 +34,9 @@ module "update_letter_queue" { log_destination_arn = local.destination_arn log_subscription_role_arn = local.acct.log_subscription_role_arn - lambda_env_vars = merge(local.common_lambda_env_vars, {}) + lambda_env_vars = merge(local.common_lambda_env_vars, { + LOG_REFERENCE = UPDATE_LETTER + }) } data "aws_iam_policy_document" "update_letter_queue_lambda" { diff --git a/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf b/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf index eeaed3420..1b99bdd40 100644 --- a/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf +++ b/infrastructure/terraform/components/api/module_lambda_upsert_letter.tf @@ -36,6 +36,7 @@ module "upsert_letter" { lambda_env_vars = merge(local.common_lambda_env_vars, { IDEMPOTENCY_TABLE_NAME = aws_dynamodb_table.idempotency.name + LOG_REFERENCE = UPSERT_LETTER }) } diff --git a/internal/helpers/src/logger.ts b/internal/helpers/src/logger.ts index 051e793be..1a7144522 100644 --- a/internal/helpers/src/logger.ts +++ b/internal/helpers/src/logger.ts @@ -2,6 +2,7 @@ import pino, { Logger } from "pino"; export type LoggerOptions = { logLevel?: string; + logReference?: string; }; /** @@ -9,13 +10,17 @@ export type LoggerOptions = { * * @param options - Optional configuration for the logger * @param options.logLevel - The log level (defaults to "info") + * @param options.logReference - Optional reference value to include on every log record * @returns A configured pino Logger instance */ export function createLogger(options: LoggerOptions = {}): Logger { - const { logLevel = "info" } = options; + const { logLevel = "info", logReference } = options; return pino({ level: logLevel, + mixin: () => { + return logReference ? { log_reference: logReference } : {}; + }, formatters: { level: (label) => { return { level: label.toUpperCase() }; diff --git a/lambdas/api-handler/src/config/deps.ts b/lambdas/api-handler/src/config/deps.ts index 427d883fa..610a43cc1 100644 --- a/lambdas/api-handler/src/config/deps.ts +++ b/lambdas/api-handler/src/config/deps.ts @@ -73,7 +73,10 @@ function createMIRepository(log: Logger, environment: EnvVars): MIRepository { } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); return { s3Client: new S3Client(), diff --git a/lambdas/api-handler/src/config/env.ts b/lambdas/api-handler/src/config/env.ts index a7402eee6..da32e2fa8 100644 --- a/lambdas/api-handler/src/config/env.ts +++ b/lambdas/api-handler/src/config/env.ts @@ -16,6 +16,7 @@ const EnvVarsSchema = z.object({ PINO_LOG_LEVEL: z.coerce.string().optional(), EVENT_SOURCE: z.string(), SNS_TOPIC_ARN: z.string(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/authorizer/src/deps.ts b/lambdas/authorizer/src/deps.ts index 6ea7ee079..445b4f2d0 100644 --- a/lambdas/authorizer/src/deps.ts +++ b/lambdas/authorizer/src/deps.ts @@ -29,7 +29,10 @@ function createSupplierRepository( } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); return { supplierRepo: createSupplierRepository( diff --git a/lambdas/authorizer/src/env.ts b/lambdas/authorizer/src/env.ts index a81f82f2d..2196d64bc 100644 --- a/lambdas/authorizer/src/env.ts +++ b/lambdas/authorizer/src/env.ts @@ -6,6 +6,7 @@ const EnvVarsSchema = z.object({ APIM_SUPPLIER_ID_HEADER: z.string(), CLIENT_CERTIFICATE_EXPIRATION_ALERT_DAYS: z.coerce.number().int(), PINO_LOG_LEVEL: z.coerce.string().optional(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/letter-updates-transformer/src/deps.ts b/lambdas/letter-updates-transformer/src/deps.ts index 57831c7a3..79d0d8425 100644 --- a/lambdas/letter-updates-transformer/src/deps.ts +++ b/lambdas/letter-updates-transformer/src/deps.ts @@ -14,7 +14,10 @@ function createSNSClient(): SNSClient { } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); return { snsClient: createSNSClient(), diff --git a/lambdas/letter-updates-transformer/src/env.ts b/lambdas/letter-updates-transformer/src/env.ts index 33030ad8b..72a04f0ce 100644 --- a/lambdas/letter-updates-transformer/src/env.ts +++ b/lambdas/letter-updates-transformer/src/env.ts @@ -4,6 +4,7 @@ const EnvVarsSchema = z.object({ EVENTPUB_SNS_TOPIC_ARN: z.string(), EVENT_SOURCE: z.string(), PINO_LOG_LEVEL: z.coerce.string().optional(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/mi-updates-transformer/src/deps.ts b/lambdas/mi-updates-transformer/src/deps.ts index 57831c7a3..79d0d8425 100644 --- a/lambdas/mi-updates-transformer/src/deps.ts +++ b/lambdas/mi-updates-transformer/src/deps.ts @@ -14,7 +14,10 @@ function createSNSClient(): SNSClient { } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); return { snsClient: createSNSClient(), diff --git a/lambdas/mi-updates-transformer/src/env.ts b/lambdas/mi-updates-transformer/src/env.ts index fb4fe6089..fb5d51ee8 100644 --- a/lambdas/mi-updates-transformer/src/env.ts +++ b/lambdas/mi-updates-transformer/src/env.ts @@ -3,6 +3,7 @@ import { z } from "zod"; const EnvVarsSchema = z.object({ EVENTPUB_SNS_TOPIC_ARN: z.string(), PINO_LOG_LEVEL: z.coerce.string().optional(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/supplier-allocator/src/config/deps.ts b/lambdas/supplier-allocator/src/config/deps.ts index e937d64ef..75b31fa4e 100644 --- a/lambdas/supplier-allocator/src/config/deps.ts +++ b/lambdas/supplier-allocator/src/config/deps.ts @@ -47,7 +47,10 @@ function createIdempotencyLayer(): DynamoDBPersistenceLayer { } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); return { supplierConfigRepo: createSupplierConfigRepository(), diff --git a/lambdas/supplier-allocator/src/config/env.ts b/lambdas/supplier-allocator/src/config/env.ts index 7d99ef0df..53eb22834 100644 --- a/lambdas/supplier-allocator/src/config/env.ts +++ b/lambdas/supplier-allocator/src/config/env.ts @@ -5,6 +5,7 @@ const EnvVarsSchema = z.object({ SUPPLIER_QUOTAS_TABLE_NAME: z.string(), PINO_LOG_LEVEL: z.coerce.string().optional(), IDEMPOTENCY_TABLE_NAME: z.string(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/supplier-config-ingress/src/config/deps.ts b/lambdas/supplier-config-ingress/src/config/deps.ts index ec8ab9c6e..fc5c1dc91 100644 --- a/lambdas/supplier-config-ingress/src/config/deps.ts +++ b/lambdas/supplier-config-ingress/src/config/deps.ts @@ -28,7 +28,10 @@ function createSupplierConfigRepository( } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); return { supplierConfigRepo: createSupplierConfigRepository(envVars), diff --git a/lambdas/supplier-config-ingress/src/config/env.ts b/lambdas/supplier-config-ingress/src/config/env.ts index e037d73d2..156dbb87a 100644 --- a/lambdas/supplier-config-ingress/src/config/env.ts +++ b/lambdas/supplier-config-ingress/src/config/env.ts @@ -3,6 +3,8 @@ import { z } from "zod"; const EnvVarsSchema = z.object({ SUPPLIER_CONFIG_TABLE_NAME: z.string(), PINO_LOG_LEVEL: z.coerce.string().optional(), + IDEMPOTENCY_TABLE_NAME: z.string(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/supplier-mock/src/handler/deps.ts b/lambdas/supplier-mock/src/handler/deps.ts index 98775641e..45103e0fa 100644 --- a/lambdas/supplier-mock/src/handler/deps.ts +++ b/lambdas/supplier-mock/src/handler/deps.ts @@ -16,7 +16,11 @@ export type Deps = { }; export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); + const lambdaClient = new LambdaClient(); const parameterStoreConfig = getParameterStoreConfig(); diff --git a/lambdas/supplier-mock/src/handler/env.ts b/lambdas/supplier-mock/src/handler/env.ts index e076faac3..c957f0e22 100644 --- a/lambdas/supplier-mock/src/handler/env.ts +++ b/lambdas/supplier-mock/src/handler/env.ts @@ -7,6 +7,7 @@ const EnvVarsSchema = z.object({ GET_LETTERS_FUNCTION_NAME: z.string().optional(), PATCH_LETTER_FUNCTION_NAME: z.string().optional(), SUPPLIER_MOCK_CONFIG_PARAM_NAME: z.string().optional(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/update-letter-queue/src/deps.ts b/lambdas/update-letter-queue/src/deps.ts index 9db089111..926e9f9bd 100644 --- a/lambdas/update-letter-queue/src/deps.ts +++ b/lambdas/update-letter-queue/src/deps.ts @@ -17,7 +17,10 @@ function createDynamoDBDocumentClient(): DynamoDBDocumentClient { } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); const ddbClient = createDynamoDBDocumentClient(); const letterQueueRepository = new LetterQueueRepository(ddbClient, log, { diff --git a/lambdas/update-letter-queue/src/env.ts b/lambdas/update-letter-queue/src/env.ts index d54353325..94836b5b7 100644 --- a/lambdas/update-letter-queue/src/env.ts +++ b/lambdas/update-letter-queue/src/env.ts @@ -4,6 +4,7 @@ const EnvVarsSchema = z.object({ LETTER_QUEUE_TABLE_NAME: z.string(), LETTER_QUEUE_TTL_HOURS: z.coerce.number().int(), PINO_LOG_LEVEL: z.coerce.string().optional(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer; diff --git a/lambdas/upsert-letter/src/config/deps.ts b/lambdas/upsert-letter/src/config/deps.ts index 09292c6a3..4f2f1b871 100644 --- a/lambdas/upsert-letter/src/config/deps.ts +++ b/lambdas/upsert-letter/src/config/deps.ts @@ -34,7 +34,10 @@ function createIdempotencyLayer(): DynamoDBPersistenceLayer { } export function createDependenciesContainer(): Deps { - const log = createLogger({ logLevel: envVars.PINO_LOG_LEVEL }); + const log = createLogger({ + logLevel: envVars.PINO_LOG_LEVEL, + logReference: envVars.LOG_REFERENCE, + }); return { letterRepo: createLetterRepository(log), diff --git a/lambdas/upsert-letter/src/config/env.ts b/lambdas/upsert-letter/src/config/env.ts index 1f3a3bdf8..f93d61a79 100644 --- a/lambdas/upsert-letter/src/config/env.ts +++ b/lambdas/upsert-letter/src/config/env.ts @@ -5,6 +5,7 @@ const EnvVarsSchema = z.object({ LETTER_TTL_HOURS: z.coerce.number().int(), PINO_LOG_LEVEL: z.coerce.string().optional(), IDEMPOTENCY_TABLE_NAME: z.string(), + LOG_REFERENCE: z.string().optional(), }); export type EnvVars = z.infer;