| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- 'use strict';
 
- /**
 
-  * 自动记录日志
 
-  *
 
-  * @author CaiAoLin
 
-  * @date 2017/10/30
 
-  * @version
 
-  */
 
- const os = require('os');
 
- module.exports = options => {
 
-     return async function autoFinishLogger(ctx, next) {
 
-         await next();
 
-         if (ctx.url.indexOf('/public/') === 0) return;
 
-         const responseTime = new Date();
 
-         const runTime = responseTime.getTime() - ctx.logInfo.time.getTime();
 
-         let logData;
 
-         if (ctx.session && ctx.session.sessionUser) {
 
-             const cpus = os.cpus();
 
-             const endCpus = cpus.map(x => {
 
-                 return `${((1-x.times.idle/(x.times.idle+x.times.user+x.times.nice+x.times.sys+x.times.irq))*100).toFixed(2)}%`
 
-             });
 
-             logData = {
 
-                 id: ctx.logId,
 
-                 requestTime: ctx.logInfo.time, responseTime, runTime,
 
-                 beginCpus: ctx.logInfo.cpus, endCpus,
 
-                 user: ctx.session.sessionUser.accountId, userName: ctx.session.sessionUser.name, loginType: ctx.session.sessionUser.loginType,
 
-                 pCode: ctx.session.sessionProject.code,
 
-                 data: ctx.request.body,
 
-             };
 
-         } else {
 
-             logData = {
 
-                 id: ctx.logId, requestTime: ctx.logTime, responseTime, runTime,
 
-             };
 
-         }
 
-         const bLogger = runTime > 500 ? ctx.getLogger('warning') : ctx.getLogger('finish');
 
-         bLogger.info(JSON.stringify(logData));
 
-         await ctx.service.globalLog.responseLog(runTime);
 
-     };
 
- };
 
 
  |