mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
Add option to log every request start and end to loggly (#15243)
This commit is contained in:
30
website/server/middlewares/requestLogHandler.js
Normal file
30
website/server/middlewares/requestLogHandler.js
Normal 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();
|
||||
};
|
||||
Reference in New Issue
Block a user