diff --git a/utils/logger.js b/utils/logger.js index bf00a01..1005c96 100644 --- a/utils/logger.js +++ b/utils/logger.js @@ -93,6 +93,7 @@ function operationLogMiddleware(options = {}) { const startTime = Date.now(); const originalSend = res.send; + const originalStatus = res.status; // 捕获响应数据 res.send = function(data) { @@ -100,6 +101,12 @@ function operationLogMiddleware(options = {}) { return originalSend.call(this, data); }; + // 捕获响应状态码 + res.status = function(code) { + res.statusCode = code; + return originalStatus.call(this, code); + }; + res.on('finish', async () => { const duration = Date.now() - startTime; const user = req.user || {}; @@ -120,7 +127,7 @@ function operationLogMiddleware(options = {}) { params: req.params }), result: res.responseData ? (typeof res.responseData === 'string' ? res.responseData.substring(0, 2000) : JSON.stringify(res.responseData).substring(0, 2000)) : null, - status: res.statusCode >= 200 && res.statusCode < 300 ? 'success' : 'fail', + status: (res.statusCode >= 200 && res.statusCode < 300) || res.statusCode === 304 ? 'success' : 'fail', duration: duration }); } catch (error) {