mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-04-14 19:56:23 +00:00
improve loggly request logging call (#15259)
This commit is contained in:
parent
c47b287a89
commit
26d070f2c3
1 changed files with 21 additions and 14 deletions
|
|
@ -1,28 +1,35 @@
|
|||
import { v4 as uuid } from 'uuid';
|
||||
import omit from 'lodash/omit';
|
||||
import logger from '../libs/logger';
|
||||
|
||||
function buildBaseLogData (req) {
|
||||
return {
|
||||
requestId: req.requestIdentifier,
|
||||
method: req.method,
|
||||
url: req.originalUrl,
|
||||
|
||||
headers: omit(req.headers, ['x-api-key', 'cookie', 'password', 'confirmPassword']),
|
||||
body: omit(req.body, ['password', 'confirmPassword']),
|
||||
query: omit(req.query, ['password', 'confirmPassword']),
|
||||
};
|
||||
}
|
||||
|
||||
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,
|
||||
});
|
||||
const data = buildBaseLogData(req);
|
||||
data.duration = requestTime;
|
||||
data.endTime = now;
|
||||
data.statusCode = res.statusCode;
|
||||
logger.info('Request completed', data);
|
||||
};
|
||||
|
||||
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,
|
||||
});
|
||||
const data = buildBaseLogData(req);
|
||||
data.startTime = req.requestStartTime;
|
||||
logger.info('Request started', data);
|
||||
req.on('close', () => {
|
||||
logRequestEnd(req, res);
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue