Skip to content

Commit c989722

Browse files
Update to error first logging (#208)
* Update to error first logging * Fix test
1 parent 83dcecf commit c989722

8 files changed

Lines changed: 21 additions & 20 deletions

File tree

src/server/common/helpers/redis-client.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,11 @@ export function buildRedisClient() {
6363
)
6464
})
6565

66-
redisClient.on('error', (error) => {
67-
const err = getErrorMessage(error)
68-
logger.error(err, `[redisConnectionError] Redis connection error - ${err}`)
66+
redisClient.on('error', (err) => {
67+
logger.error(
68+
err,
69+
`[redisConnectionError] Redis connection error - ${getErrorMessage(err)}`
70+
)
6971
})
7072

7173
return redisClient

src/server/plugins/engine/helpers.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,10 +149,9 @@ export function encodeUrl(link?: string) {
149149
try {
150150
return new URL(link).toString() // escape the search params without breaking the ? and & reserved characters in rfc2368
151151
} catch (err) {
152-
const errMsg = getErrorMessage(err)
153152
logger.error(
154-
errMsg,
155-
`[urlEncodingFailed] Failed to encode URL: ${link} - ${errMsg}`
153+
err,
154+
`[urlEncodingFailed] Failed to encode URL: ${link} - ${getErrorMessage(err)}`
156155
)
157156
throw err
158157
}

src/server/plugins/engine/options.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { getErrorMessage } from '@defra/forms-model'
12
import Joi from 'joi'
23

34
import { createLogger } from '~/src/server/common/helpers/logging/logger.js'
@@ -39,7 +40,8 @@ export function validatePluginOptions(options) {
3940

4041
if (result.error) {
4142
logger.error(
42-
`Missing required properties in plugin options: ${result.error.message}`
43+
result.error,
44+
`Missing required properties in plugin options: ${getErrorMessage(result.error)}`
4345
)
4446
throw new Error('Invalid plugin options', result.error)
4547
}

src/server/plugins/engine/pageControllers/FileUploadPageController.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -326,11 +326,11 @@ export class FileUploadPageController extends QuestionPageController {
326326
// Depth 1: 2000ms, Depth 2: 4000ms, Depth 3: 8000ms, Depth 4: 16000ms, Depth 5+: 30000ms (capped)
327327
// A depth of 5 (or more) implies cumulative delays roughly reaching 55 seconds.
328328
if (depth >= 5) {
329-
const error = new Error(
329+
const err = new Error(
330330
`Exceeded cumulative retry delay for ${uploadId} (depth: ${depth}). Re-initiating a new upload.`
331331
)
332332
request.logger.error(
333-
error,
333+
err,
334334
`[uploadTimeout] Exceeded cumulative retry delay for uploadId: ${uploadId} at depth: ${depth} - re-initiating new upload`
335335
)
336336
await this.initiateAndStoreNewUpload(request, state)

src/server/plugins/engine/routes/file-upload.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,10 @@ export async function getHandler(
2323
}
2424

2525
return h.response(status)
26-
} catch (error) {
27-
const errMsg = getErrorMessage(error)
26+
} catch (err) {
2827
request.logger.error(
29-
errMsg,
30-
`[uploadStatusFailed] Upload status check failed for uploadId: ${uploadId} - ${errMsg}`
28+
err,
29+
`[uploadStatusFailed] Upload status check failed for uploadId: ${uploadId} - ${getErrorMessage(err)}`
3130
)
3231
return h.response({ error: 'Status check error' }).code(500)
3332
}

src/server/plugins/engine/services/notifyService.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ describe('notifyService', () => {
301301
).rejects.toThrow('Notification service unavailable')
302302

303303
expect(mockRequest.logger.error).toHaveBeenCalledWith(
304-
'Notification service unavailable',
304+
new Error('Notification service unavailable'),
305305
expect.stringContaining(
306306
'[emailSendFailed] Error sending notification email'
307307
)

src/server/plugins/engine/services/notifyService.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,9 @@ export async function submit(
7979

8080
request.logger.info(logTags, 'Email sent successfully')
8181
} catch (err) {
82-
const errMsg = getErrorMessage(err)
8382
request.logger.error(
84-
errMsg,
85-
`[emailSendFailed] Error sending notification email - templateId: ${templateId} - recipient: ${emailAddress} - ${errMsg}`
83+
err,
84+
`[emailSendFailed] Error sending notification email - templateId: ${templateId} - recipient: ${emailAddress} - ${getErrorMessage(err)}`
8685
)
8786

8887
throw err

src/server/plugins/errorPages.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,18 @@ export default {
1919
// processing the request
2020
const statusCode = response.output.statusCode
2121

22-
const error = {
22+
const err = {
2323
statusCode,
2424
message: response.message,
2525
stack: response.stack
2626
}
2727

2828
request.logger.error(
29-
error,
29+
err,
3030
`[httpError] HTTP ${statusCode} error occurred - ${response.message} - path: ${request.path} - method: ${request.method}`
3131
)
3232

33-
return h.response(error).code(statusCode)
33+
return h.response(err).code(statusCode)
3434
}
3535

3636
return h.continue

0 commit comments

Comments
 (0)