diff --git a/src/server/common/helpers/redis-client.js b/src/server/common/helpers/redis-client.js index 8520f3d94..e080c0926 100644 --- a/src/server/common/helpers/redis-client.js +++ b/src/server/common/helpers/redis-client.js @@ -63,9 +63,11 @@ export function buildRedisClient() { ) }) - redisClient.on('error', (error) => { - const err = getErrorMessage(error) - logger.error(err, `[redisConnectionError] Redis connection error - ${err}`) + redisClient.on('error', (err) => { + logger.error( + err, + `[redisConnectionError] Redis connection error - ${getErrorMessage(err)}` + ) }) return redisClient diff --git a/src/server/plugins/engine/helpers.ts b/src/server/plugins/engine/helpers.ts index a3c2b2dac..b57c893cb 100644 --- a/src/server/plugins/engine/helpers.ts +++ b/src/server/plugins/engine/helpers.ts @@ -149,10 +149,9 @@ export function encodeUrl(link?: string) { try { return new URL(link).toString() // escape the search params without breaking the ? and & reserved characters in rfc2368 } catch (err) { - const errMsg = getErrorMessage(err) logger.error( - errMsg, - `[urlEncodingFailed] Failed to encode URL: ${link} - ${errMsg}` + err, + `[urlEncodingFailed] Failed to encode URL: ${link} - ${getErrorMessage(err)}` ) throw err } diff --git a/src/server/plugins/engine/options.js b/src/server/plugins/engine/options.js index 39f04daca..3efb29e87 100644 --- a/src/server/plugins/engine/options.js +++ b/src/server/plugins/engine/options.js @@ -1,3 +1,4 @@ +import { getErrorMessage } from '@defra/forms-model' import Joi from 'joi' import { createLogger } from '~/src/server/common/helpers/logging/logger.js' @@ -39,7 +40,8 @@ export function validatePluginOptions(options) { if (result.error) { logger.error( - `Missing required properties in plugin options: ${result.error.message}` + result.error, + `Missing required properties in plugin options: ${getErrorMessage(result.error)}` ) throw new Error('Invalid plugin options', result.error) } diff --git a/src/server/plugins/engine/pageControllers/FileUploadPageController.ts b/src/server/plugins/engine/pageControllers/FileUploadPageController.ts index 523cdfe50..3bf51f8fc 100644 --- a/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +++ b/src/server/plugins/engine/pageControllers/FileUploadPageController.ts @@ -326,11 +326,11 @@ export class FileUploadPageController extends QuestionPageController { // Depth 1: 2000ms, Depth 2: 4000ms, Depth 3: 8000ms, Depth 4: 16000ms, Depth 5+: 30000ms (capped) // A depth of 5 (or more) implies cumulative delays roughly reaching 55 seconds. if (depth >= 5) { - const error = new Error( + const err = new Error( `Exceeded cumulative retry delay for ${uploadId} (depth: ${depth}). Re-initiating a new upload.` ) request.logger.error( - error, + err, `[uploadTimeout] Exceeded cumulative retry delay for uploadId: ${uploadId} at depth: ${depth} - re-initiating new upload` ) await this.initiateAndStoreNewUpload(request, state) diff --git a/src/server/plugins/engine/routes/file-upload.ts b/src/server/plugins/engine/routes/file-upload.ts index fb64cad7a..85e768eb3 100644 --- a/src/server/plugins/engine/routes/file-upload.ts +++ b/src/server/plugins/engine/routes/file-upload.ts @@ -23,11 +23,10 @@ export async function getHandler( } return h.response(status) - } catch (error) { - const errMsg = getErrorMessage(error) + } catch (err) { request.logger.error( - errMsg, - `[uploadStatusFailed] Upload status check failed for uploadId: ${uploadId} - ${errMsg}` + err, + `[uploadStatusFailed] Upload status check failed for uploadId: ${uploadId} - ${getErrorMessage(err)}` ) return h.response({ error: 'Status check error' }).code(500) } diff --git a/src/server/plugins/engine/services/notifyService.test.ts b/src/server/plugins/engine/services/notifyService.test.ts index e0a6d5285..1a9caf79f 100644 --- a/src/server/plugins/engine/services/notifyService.test.ts +++ b/src/server/plugins/engine/services/notifyService.test.ts @@ -301,7 +301,7 @@ describe('notifyService', () => { ).rejects.toThrow('Notification service unavailable') expect(mockRequest.logger.error).toHaveBeenCalledWith( - 'Notification service unavailable', + new Error('Notification service unavailable'), expect.stringContaining( '[emailSendFailed] Error sending notification email' ) diff --git a/src/server/plugins/engine/services/notifyService.ts b/src/server/plugins/engine/services/notifyService.ts index 9774ce826..e6bd3ee0a 100644 --- a/src/server/plugins/engine/services/notifyService.ts +++ b/src/server/plugins/engine/services/notifyService.ts @@ -79,10 +79,9 @@ export async function submit( request.logger.info(logTags, 'Email sent successfully') } catch (err) { - const errMsg = getErrorMessage(err) request.logger.error( - errMsg, - `[emailSendFailed] Error sending notification email - templateId: ${templateId} - recipient: ${emailAddress} - ${errMsg}` + err, + `[emailSendFailed] Error sending notification email - templateId: ${templateId} - recipient: ${emailAddress} - ${getErrorMessage(err)}` ) throw err diff --git a/src/server/plugins/errorPages.ts b/src/server/plugins/errorPages.ts index 9ac2af494..058da0464 100644 --- a/src/server/plugins/errorPages.ts +++ b/src/server/plugins/errorPages.ts @@ -19,18 +19,18 @@ export default { // processing the request const statusCode = response.output.statusCode - const error = { + const err = { statusCode, message: response.message, stack: response.stack } request.logger.error( - error, + err, `[httpError] HTTP ${statusCode} error occurred - ${response.message} - path: ${request.path} - method: ${request.method}` ) - return h.response(error).code(statusCode) + return h.response(err).code(statusCode) } return h.continue