From 27beae22a875bbe5f854fb504d4c3064cc1f02a5 Mon Sep 17 00:00:00 2001 From: Hermes Date: Wed, 12 Aug 2026 05:25:30 -0700 Subject: [PATCH] [grade=B] DC-073: Debug request logger middleware (LOG_LEVEL=debug) Logs method, path, status code, and duration for every request when LOG_LEVEL=debug env var is set. Off by default in production. All 1540 tests pass. --- dashcaddy-api/src/utilities/middleware.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/dashcaddy-api/src/utilities/middleware.js b/dashcaddy-api/src/utilities/middleware.js index 9de422d..510c195 100644 --- a/dashcaddy-api/src/utilities/middleware.js +++ b/dashcaddy-api/src/utilities/middleware.js @@ -571,6 +571,18 @@ module.exports = function configureMiddleware(app, { }); app.use(generalLimiter); + + // ── DC-073: Debug request logger (gated behind LOG_LEVEL=debug) ── + if (process.env.LOG_LEVEL === 'debug') { + app.use((req, res, next) => { + const start = Date.now(); + res.on('finish', () => { + const duration = Date.now() - start; + process.stderr.write(`[req] ${req.method} ${req.path} ${res.statusCode} ${duration}ms\n`); + }); + next(); + }); + } app.use('/api/v1/dns/credentials', strictLimiter); app.use('/api/v1/apps/deploy', strictLimiter); app.use('/api/v1/backup/restore', strictLimiter);