logging
This commit is contained in:
@@ -25,14 +25,7 @@ export default function middleware(request: NextRequest) {
|
||||
const logger = services.logger.child({ middleware: 'request-logger' });
|
||||
|
||||
// Log incoming request
|
||||
logger.info('Incoming request', {
|
||||
method,
|
||||
url,
|
||||
userAgent,
|
||||
referer,
|
||||
ip,
|
||||
timestamp: new Date().toISOString(),
|
||||
});
|
||||
logger.info(`Incoming request: method=${method} url=${url} ip=${ip} ua="${userAgent.slice(0,60)}${userAgent.length>60 ? '...' : ''}" ref="${referer.slice(0,80)}${referer.length>80 ? '...' : ''}"`);
|
||||
|
||||
try {
|
||||
// Apply internationalization middleware
|
||||
@@ -40,23 +33,11 @@ export default function middleware(request: NextRequest) {
|
||||
const duration = Date.now() - startTime;
|
||||
|
||||
// Log successful response
|
||||
const logData: any = {
|
||||
method,
|
||||
url,
|
||||
status: response.status,
|
||||
duration,
|
||||
userAgent,
|
||||
referer,
|
||||
ip,
|
||||
timestamp: new Date().toISOString(),
|
||||
};
|
||||
|
||||
// Log redirect details if it's a redirect
|
||||
if (response.status >= 300 && response.status < 400) {
|
||||
logData.redirectLocation = response.headers.get('location');
|
||||
logger.info('Redirect detected', logData);
|
||||
const location = response.headers.get('location') || 'unknown';
|
||||
logger.info(`Redirect detected: status=${response.status} location="${location.slice(0,100)}${location.length>100?'...':''}" method=${method} url=${url} duration=${duration}ms ip=${ip} ua="${userAgent.slice(0,60)}${userAgent.length>60?'...':''}" ref="${referer.slice(0,80)}${referer.length>80?'...':''}"`);
|
||||
} else {
|
||||
logger.info('Request completed', logData);
|
||||
logger.info(`Request completed: status=${response.status} method=${method} url=${url} duration=${duration}ms ip=${ip} ua="${userAgent.slice(0,60)}${userAgent.length>60?'...':''}" ref="${referer.slice(0,80)}${referer.length>80?'...':''}"`);
|
||||
}
|
||||
|
||||
return response;
|
||||
@@ -64,17 +45,8 @@ export default function middleware(request: NextRequest) {
|
||||
const duration = Date.now() - startTime;
|
||||
|
||||
// Log error
|
||||
logger.error('Request failed', {
|
||||
method,
|
||||
url,
|
||||
duration,
|
||||
userAgent,
|
||||
referer,
|
||||
ip,
|
||||
error: error instanceof Error ? error.message : String(error),
|
||||
stack: error instanceof Error ? error.stack : undefined,
|
||||
timestamp: new Date().toISOString(),
|
||||
});
|
||||
const errorMsg = error instanceof Error ? error.message : String(error);
|
||||
logger.error(`Request failed: method=${method} url=${url} duration=${duration}ms error="${errorMsg}" ip=${ip} ua="${userAgent.slice(0,60)}${userAgent.length>60?'...':''}" ref="${referer.slice(0,80)}${referer.length>80?'...':''}"`);
|
||||
|
||||
// Re-throw the error to let Next.js handle it
|
||||
throw error;
|
||||
|
||||
Reference in New Issue
Block a user