backend logging
This commit is contained in:
33
backend/middleware/errorLogger.js
Normal file
33
backend/middleware/errorLogger.js
Normal file
@@ -0,0 +1,33 @@
|
||||
const logger = require('../utils/logger');
|
||||
|
||||
const errorLogger = (err, req, res, next) => {
|
||||
// Create a request-specific logger with request ID
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
|
||||
// Log the error with context
|
||||
const errorContext = {
|
||||
method: req.method,
|
||||
url: req.url,
|
||||
userAgent: req.get('User-Agent'),
|
||||
ip: req.ip,
|
||||
userId: req.user?.id || 'anonymous',
|
||||
body: logger.sanitize(req.body),
|
||||
params: req.params,
|
||||
query: req.query,
|
||||
statusCode: err.statusCode || 500,
|
||||
stack: err.stack,
|
||||
};
|
||||
|
||||
if (err.statusCode && err.statusCode < 500) {
|
||||
// Client errors (4xx)
|
||||
reqLogger.warn(`Client error: ${err.message}`, errorContext);
|
||||
} else {
|
||||
// Server errors (5xx)
|
||||
reqLogger.error(`Server error: ${err.message}`, errorContext);
|
||||
}
|
||||
|
||||
// Pass error to next middleware
|
||||
next(err);
|
||||
};
|
||||
|
||||
module.exports = errorLogger;
|
||||
Reference in New Issue
Block a user