Skip to content

Commit 04f92a5

Browse files
committed
CCM-12845 Structure logs
1 parent 42b0816 commit 04f92a5

17 files changed

Lines changed: 150 additions & 74 deletions

File tree

lambdas/api-handler/src/handlers/__tests__/letter-status-update.test.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -143,14 +143,12 @@ describe("createLetterStatusUpdateHandler", () => {
143143
expect(mockedDeps.letterRepo.updateLetterStatus).toHaveBeenCalledWith(
144144
updateLetterCommands[0],
145145
);
146-
expect(mockedDeps.logger.error).toHaveBeenCalledWith(
147-
{
148-
err: mockError,
149-
messageId: "mid-id1",
150-
correlationId: "correlationId-id1",
151-
messageBody: '{"id":"id1","status":"ACCEPTED","supplierId":"s1"}',
152-
},
153-
"Error processing letter status update",
154-
);
146+
expect(mockedDeps.logger.error).toHaveBeenCalledWith({
147+
description: "Error processing letter status update",
148+
err: mockError,
149+
messageId: "mid-id1",
150+
correlationId: "correlationId-id1",
151+
messageBody: '{"id":"id1","status":"ACCEPTED","supplierId":"s1"}',
152+
});
155153
});
156154
});

lambdas/api-handler/src/handlers/get-letter-data.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,23 @@ export default function createGetLetterDataHandler(
3333
),
3434
);
3535

36+
const presignedUrl = await getLetterDataUrl(
37+
commonIds.value.supplierId,
38+
letterId,
39+
deps,
40+
);
41+
42+
deps.logger.info({
43+
description: "Generated presigned URL",
44+
supplierId: commonIds.value.supplierId,
45+
letterId,
46+
correlationId: commonIds.value.correlationId,
47+
});
48+
3649
return {
3750
statusCode: 303,
3851
headers: {
39-
Location: await getLetterDataUrl(
40-
commonIds.value.supplierId,
41-
letterId,
42-
deps,
43-
),
52+
Location: presignedUrl,
4453
},
4554
body: "",
4655
};

lambdas/api-handler/src/handlers/get-letter.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export default function createGetLetterHandler(
4646
description: "Letter successfully fetched by id",
4747
supplierId: commonIds.value.supplierId,
4848
letterId,
49+
correlationId: commonIds.value.correlationId,
4950
});
5051

5152
return {

lambdas/api-handler/src/handlers/get-letters.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ export default function createGetLettersHandler(
121121
limitNumber,
122122
status,
123123
lettersCount: letters.length,
124+
correlationId: commonIds.value.correlationId,
124125
});
125126

126127
return {

lambdas/api-handler/src/handlers/get-status.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ export default function createGetStatusHandler(
2626
body: JSON.stringify({ code: 200 }, null, 2),
2727
};
2828
} catch (error) {
29-
deps.logger.error(
30-
{ err: error },
31-
"Status endpoint error, services not available",
32-
);
29+
deps.logger.error({
30+
err: error,
31+
description: "Status endpoint error, services not available",
32+
});
3333
return {
3434
statusCode: 500,
3535
body: JSON.stringify({ code: 500 }, null, 2),

lambdas/api-handler/src/handlers/letter-status-update.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,20 @@ export default function createLetterStatusUpdateHandler(
1717
await deps.letterRepo.updateLetterStatus(
1818
mapToUpdateLetter(letterToUpdate),
1919
);
20+
deps.logger.info({
21+
description: "Updated letter status",
22+
letterId: letterToUpdate.id,
23+
messageId: message.messageId,
24+
correlationId: message.messageAttributes.CorrelationId.stringValue,
25+
});
2026
} catch (error) {
21-
deps.logger.error(
22-
{
23-
err: error,
24-
messageId: message.messageId,
25-
correlationId: message.messageAttributes.CorrelationId.stringValue,
26-
messageBody: message.body,
27-
},
28-
"Error processing letter status update",
29-
);
27+
deps.logger.error({
28+
description: "Error processing letter status update",
29+
err: error,
30+
messageId: message.messageId,
31+
correlationId: message.messageAttributes.CorrelationId.stringValue,
32+
messageBody: message.body,
33+
});
3034
}
3135
});
3236

lambdas/api-handler/src/handlers/patch-letter.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ export default function createPatchLetterHandler(
7373
commonIds.value.correlationId,
7474
deps,
7575
);
76+
deps.logger.info({
77+
description: "Enqueued letter update requests",
78+
supplierId: commonIds.value.supplierId,
79+
letterId,
80+
correlationId: commonIds.value.correlationId,
81+
});
7682

7783
return {
7884
statusCode: 202,

lambdas/api-handler/src/handlers/post-letters.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,15 @@ export default function createPostLettersHandler(
7777
deps,
7878
);
7979

80+
deps.logger.info({
81+
description: "Enqueued letter update requests",
82+
supplierId: commonIds.value.supplierId,
83+
letterIds: postLettersRequest.data
84+
.map((letter) => letter.id)
85+
.join(", "),
86+
correlationId: commonIds.value.correlationId,
87+
});
88+
8089
return {
8190
statusCode: 202,
8291
body: "",

lambdas/api-handler/src/handlers/post-mi.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ export default function createPostMIHandler(
5353
deps.miRepo,
5454
);
5555

56+
deps.logger.info({
57+
description: "Posted management information",
58+
supplierId: commonIds.value.supplierId,
59+
correlationId: commonIds.value.correlationId,
60+
});
61+
5662
return {
5763
statusCode: 201,
5864
body: JSON.stringify(result, null, 2),

lambdas/api-handler/src/mappers/error-mapper.ts

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -72,38 +72,33 @@ export function logAndMapToApiError(
7272
logger: Logger,
7373
): ApiError {
7474
if (error instanceof ValidationError) {
75-
logger.info(
76-
{ err: error },
77-
`Validation error correlationId=${correlationId}`,
78-
);
75+
logger.info({ description: "Validation error", err: error, correlationId });
7976
return mapToApiError(
8077
ApiErrorCode.InvalidRequest,
8178
error.detail,
8279
correlationId,
8380
);
8481
}
8582
if (error instanceof NotFoundError) {
86-
logger.info(
87-
{ err: error },
88-
`Not found error correlationId=${correlationId}`,
89-
);
83+
logger.info({ description: "Not found error", err: error, correlationId });
9084
return mapToApiError(ApiErrorCode.NotFound, error.detail, correlationId);
9185
}
9286
if (error instanceof Error) {
93-
logger.error(
94-
{ err: error },
95-
`Internal server error correlationId=${correlationId}`,
96-
);
87+
logger.error({
88+
description: "Internal server error",
89+
err: error,
90+
correlationId,
91+
});
9792
return mapToApiError(
9893
ApiErrorCode.InternalServerError,
9994
"Unexpected error",
10095
correlationId,
10196
);
10297
}
103-
logger.error(
104-
{ err: error },
105-
`Internal server error (non-Error thrown) correlationId=${correlationId}`,
106-
);
98+
logger.error({
99+
description: "Internal server error (non-Error thrown)",
100+
correlationId,
101+
});
107102
return mapToApiError(
108103
ApiErrorCode.InternalServerError,
109104
"Unexpected error",

0 commit comments

Comments
 (0)