Files
poshmanager/server/middleware/requestLogger.js
2026-06-25 12:05:53 -05:00

26 lines
623 B
JavaScript

import { logger } from '../services/logger.js';
export function requestLogger(req, res, next) {
const start = Date.now();
res.on('finish', () => {
logger.info('request', {
method: req.method,
path: req.originalUrl,
status: res.statusCode,
durationMs: Date.now() - start,
ip: req.ip,
userId: req.user?.id || null,
headers: redactHeaders(req.headers)
});
});
next();
}
function redactHeaders(headers) {
const safe = { ...headers };
for (const key of ['authorization', 'cookie', 'set-cookie']) {
if (safe[key]) safe[key] = '[redacted]';
}
return safe;
}