function loggingMiddleware() { return async (ctx, next) => { const start = Date.now(); try { // 打印请求路径、方法和参数 console.log(`[${new Date().toISOString()}] ${ctx.method} ${ctx.url} ${JSON.stringify(ctx.request.body)}`); // 调用下一个中间件 await next(); // 打印请求处理时间 const ms = Date.now() - start; console.log(`[${new Date().toISOString()}] ${ctx.method} ${ctx.url} - ${ms}ms`); // 打印请求是否成功 if (ctx.status >= 400) { console.error(`[${new Date().toISOString()}] ${ctx.method} ${ctx.url} - Failed (${ctx.status})`); } else { console.log(`[${new Date().toISOString()}] ${ctx.method} ${ctx.url} - Success (${ctx.status})`); } } catch (error) { // 打印错误信息 console.error(`[${new Date().toISOString()}] ${ctx.method} ${ctx.url} - Error (${error.message})`); ctx.status = 500; // 设置状态码为 500 ctx.body = 'Internal Server Error'; } }; } export default loggingMiddleware;