UNPKG

@hacksaw/hono-google-cloud-logging

Version:

Google Cloud Logging Middleware for Hono

26 lines (25 loc) 1.2 kB
export function logDevRequest(method, path, status, duration, requestBody, responseBody, requestHeaders, responseHeaders, logRequestBody = false, logResponseBody = false, debugMode = false) { const timestamp = new Date().toISOString(); const statusColor = status >= 500 ? "\x1b[31m" // Red for 5xx : status >= 400 ? "\x1b[33m" // Yellow for 4xx : status >= 300 ? "\x1b[36m" // Cyan for 3xx : "\x1b[32m"; // Green for 2xx/1xx const resetColor = "\x1b[0m"; console.log("Skipping Write to Google Cloud Logging in Dev Mode"); console.log(`[${timestamp}] ${method} ${path} ${statusColor}${status}${resetColor} ${duration}ms`); // Log request details in dev mode if (logRequestBody && requestBody) { console.log(`Request Body: ${requestBody}`); } if (logResponseBody && responseBody) { console.log(`Response Body: ${responseBody}`); } // Log additional details at debug level if (debugMode) { console.log(`Request Headers: ${JSON.stringify(requestHeaders, null, 2)}`); console.log(`Response Headers: ${JSON.stringify(responseHeaders, null, 2)}`); } }