Skip to content

Commit cbb3aa9

Browse files
authored
fix: tidying loggers (#11)
1 parent 5c58245 commit cbb3aa9

File tree

3 files changed

+21
-18
lines changed

3 files changed

+21
-18
lines changed

worker/src/Consumer/getConsumer.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { ApplicationError } from "../utils/ApplicationError";
44
import pino from "pino";
55

66
const URL = config.get<string>("Queue.url");
7-
const logger = pino();
7+
const logger = pino().child({ method: "Consumer.create" });
88
let consumer;
99

1010
const MINUTE_IN_S = 60;
@@ -14,7 +14,7 @@ const DAY_IN_S = HOUR_IN_S * 24;
1414
const archiveFailedAfterDays = parseInt(config.get<string>("Queue.archiveFailedInDays"));
1515
const deleteAfterDays = parseInt(config.get<string>("Queue.deleteArchivedAfterDays"));
1616

17-
logger.info({ method: "Consumer.create" }, `archiveFailedAfterDays: ${archiveFailedAfterDays}, deleteAfterDays: ${deleteAfterDays}`);
17+
logger.info(`archiveFailedAfterDays: ${archiveFailedAfterDays}, deleteAfterDays: ${deleteAfterDays}`);
1818

1919
export async function create() {
2020
const boss = new PgBoss({
@@ -33,7 +33,7 @@ export async function create() {
3333
throw new ApplicationError("CONSUMER", "START_FAILED", `Failed to start listener ${e.message}. Exiting`);
3434
}
3535

36-
logger.info({ method: "Consumer.create" }, `Successfully started consumer at ${URL}`);
36+
logger.info(`Successfully started consumer at ${URL}`);
3737
return boss;
3838
}
3939

worker/src/queues/submission/workers/index.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ import * as submit from "./submit";
33
import pino from "pino";
44
import PgBoss from "pg-boss";
55

6-
const logger = pino();
76
const queue = "submission";
8-
7+
const logger = pino().child({
8+
queue,
9+
});
910
export async function setupSubmissionWorkers() {
1011
const consumer: PgBoss = await getConsumer();
1112

12-
logger.info({ queue }, `starting queue '${queue}' workers`);
13+
logger.info(`starting queue '${queue}' workers`);
1314

14-
logger.info({ queue }, `starting 'submitHandler' on ${queue} listeners`);
15+
logger.info(`starting 'submitHandler' listener`);
1516
await consumer.work("submission", { newJobCheckInterval: 500 }, submit.submitHandler);
1617
}

worker/src/queues/submission/workers/submit.ts

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,21 @@ const worker = "submit";
99

1010
const ERROR_CODE = "SUBMIT_ERROR";
1111

12-
const logger = pino();
13-
export const metadata = { queue, worker };
12+
const logger = pino().child({
13+
queue,
14+
worker,
15+
});
16+
1417
const REQUEST_TIMEOUT = Number.parseInt(config.get<string>("Submission.requestTimeout"));
15-
logger.info(metadata, `REQUEST_TIMEOUT set to ${REQUEST_TIMEOUT}`);
18+
logger.info(`REQUEST_TIMEOUT set to ${REQUEST_TIMEOUT}`);
1619

1720
/**
1821
* When a "submission" event is detected, this worker POSTs the data to `job.data.data.webhook_url`
1922
* The source of this event is the runner, after a user has submitted a form.
2023
*/
2124
export async function submitHandler(job: Job<SubmitJob>) {
22-
const jobLogData = { jobId: job.id, ...metadata };
23-
logger.info(jobLogData, `received ${worker} job`);
25+
const jobId = job.id;
26+
logger.info({ jobId }, `received ${worker} job`);
2427

2528
const { data, id } = job;
2629
const requestBody = data.data;
@@ -31,20 +34,19 @@ export async function submitHandler(job: Job<SubmitJob>) {
3134
timeout: REQUEST_TIMEOUT,
3235
});
3336
// @ts-ignore
34-
logger.info(jobLogData, `${url} took ${res.config?.meta?.responseTime}ms`);
35-
logger.info(jobLogData, `${url} responded with ${res.status} - ${JSON.stringify(res.data)}`);
37+
logger.info({ jobId, status: res.status, url, data: res.data }, `${url} took ${res.config?.meta?.responseTime}ms`);
3638

3739
const reference = res.data.reference;
3840
if (reference) {
39-
logger.info(jobLogData, `job: ${id} posted successfully to ${url} and responded with reference: ${reference}`);
41+
logger.info({ jobId }, `job: ${id} posted successfully to ${url} and responded with reference: ${reference}`);
4042
return { reference };
4143
}
4244
return;
4345
} catch (e: any) {
44-
logger.error(jobLogData, `${ERROR_CODE} to ${url} job: ${id} failed with ${e.cause ?? e.message}`);
46+
logger.error({ jobId, err: e, errorCode: ERROR_CODE }, `post to ${url} job: ${id} failed with ${e.cause ?? e.message}`);
4547

4648
if (e.response) {
47-
logger.error(jobLogData, `${ERROR_CODE} ${JSON.stringify(e.response.data)}`);
49+
logger.error({ jobId, err: e.response.error });
4850
const { message, name, code, response } = e;
4951
const { status, data } = response;
5052
throw {
@@ -57,7 +59,7 @@ export async function submitHandler(job: Job<SubmitJob>) {
5759
}
5860

5961
if (e.request) {
60-
logger.error(jobLogData, `${ERROR_CODE} to ${url} request could not be sent, see database for error`);
62+
logger.error(jobId, `post to ${url} request could not be sent, see database for error`);
6163
}
6264

6365
// @ts-ignore

0 commit comments

Comments
 (0)