'use strict'; /** * 自动记录日志 * * @author CaiAoLin * @date 2017/10/30 * @version */ module.exports = options => { return async function autoFinishLogger(ctx, next) { await next(); const bLogger = ctx.getLogger('finish'); const responseTime = new Date(); const runTime = responseTime.getTime() - responseTime.getTime(); if (ctx.session && ctx.session.sessionUser) { const logData = { requestTime: ctx.logTime, responseTime, runTime, method: ctx.method, user: ctx.session.sessionUser, project: ctx.session.sessionProject, data: ctx.request.body, }; bLogger.info(JSON.stringify(logData)); } else { const logData = { requestTime: ctx.logTime, responseTime, runTime, method: ctx.method, data: ctx.body, }; bLogger.info(JSON.stringify(logData)); } }; };