Add option to log every request start and end to loggly (#15243)

This commit is contained in:
Phillip Thelen
2024-06-14 15:51:10 +02:00
committed by GitHub
parent dde675fdc1
commit 4da53f83c9
5 changed files with 86 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
import { v4 as uuid } from 'uuid';
import logger from '../libs/logger';
export const logRequestEnd = (req, res) => {
const now = Date.now();
const requestTime = now - req.requestStartTime;
logger.info('Request completed', {
requestId: req.requestIdentifier,
method: req.method,
url: req.originalUrl,
duration: requestTime,
endTime: now,
statusCode: res.statusCode,
});
};
export const logRequestData = (req, res, next) => {
req.requestStartTime = Date.now();
req.requestIdentifier = uuid();
logger.info('Request started', {
requestId: req.requestIdentifier,
method: req.method,
url: req.originalUrl,
startTime: req.requestStartTime,
});
req.on('close', () => {
logRequestEnd(req, res);
});
next();
};