From ee849006ade37c42763a8ffe17e6913d5dcfb9b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20Jedlicska?= <57442769+gjedlicska@users.noreply.github.com> Date: Thu, 11 Jan 2024 16:17:04 +0100 Subject: [PATCH] fix: request logs (#1964) * fix: request logs * chore: remove comments --- .../plugins/002-healthMetrics.server.ts | 2 +- .../server/middleware/001-logging.ts | 26 ++++++++++++++---- packages/server/logging/expressLogging.ts | 27 +++++++++++++++---- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/packages/frontend-2/plugins/002-healthMetrics.server.ts b/packages/frontend-2/plugins/002-healthMetrics.server.ts index f9470d81b..6c7d4811e 100644 --- a/packages/frontend-2/plugins/002-healthMetrics.server.ts +++ b/packages/frontend-2/plugins/002-healthMetrics.server.ts @@ -21,7 +21,7 @@ export default defineNuxtPlugin((ctx) => { routeName: name, routePath: path }, - `[{routePath}] SSR rendered in {responseTime}ms` + '{routePath} SSR rendered in {responseTime} ms' ) }) }) diff --git a/packages/frontend-2/server/middleware/001-logging.ts b/packages/frontend-2/server/middleware/001-logging.ts index f23f8a172..807276fb5 100644 --- a/packages/frontend-2/server/middleware/001-logging.ts +++ b/packages/frontend-2/server/middleware/001-logging.ts @@ -60,16 +60,32 @@ export const LoggingMiddleware = pinoHttp({ return shouldBeDebug ? 'debug' : 'info' }, + customSuccessMessage() { + return '{requestPath} request {requestStatus} in {responseTime} ms' + }, - customSuccessMessage(req, res) { + customSuccessObject(req, res, val: Record) { const isCompleted = !req.readableAborted && res.writableEnded - const statusMessage = isCompleted ? 'request completed' : 'request aborted' - - return `[{req.path}] ${statusMessage} in {responseTime}ms` + const requestStatus = isCompleted ? 'completed' : 'aborted' + const requestPath = req.url?.split('?')[0] || 'unknown' + return { + ...val, + requestStatus, + requestPath + } }, customErrorMessage() { - return `[{req.path}] request errored` + return '{requestPath} request {requestStatus} in {responseTime} ms' + }, + customErrorObject(req, res, err, val: Record) { + const requestStatus = 'failed' + const requestPath = req.url?.split('?')[0] || 'unknown' + return { + ...val, + requestStatus, + requestPath + } }, // we need to redact any potential sensitive data from being logged. diff --git a/packages/server/logging/expressLogging.ts b/packages/server/logging/expressLogging.ts index 256cea7dc..21653a74d 100644 --- a/packages/server/logging/expressLogging.ts +++ b/packages/server/logging/expressLogging.ts @@ -34,15 +34,32 @@ export const LoggingExpressMiddleware = HttpLogger({ return 'info' }, - customSuccessMessage(req, res) { - const isCompleted = !req.readableAborted && res.writableEnded - const statusMessage = isCompleted ? 'request completed' : 'request aborted' + customSuccessMessage() { + return '{requestPath} request {requestStatus} in {responseTime} ms' + }, - return `[{req.path}] ${statusMessage} in {responseTime}ms` + customSuccessObject(req, res, val: Record) { + const isCompleted = !req.readableAborted && res.writableEnded + const requestStatus = isCompleted ? 'completed' : 'aborted' + const requestPath = req.url?.split('?')[0] || 'unknown' + return { + ...val, + requestStatus, + requestPath + } }, customErrorMessage() { - return `[{req.path}] request errored` + return '{requestPath} request {requestStatus} in {responseTime} ms' + }, + customErrorObject(req, res, err, val: Record) { + const requestStatus = 'failed' + const requestPath = req.url?.split('?')[0] || 'unknown' + return { + ...val, + requestStatus, + requestPath + } }, // we need to redact any potential sensitive data from being logged.