|
@@ -7,6 +7,7 @@
|
|
|
* @date 2017/10/30
|
|
|
* @version
|
|
|
*/
|
|
|
+const os = require('os');
|
|
|
|
|
|
module.exports = options => {
|
|
|
return async function autoFinishLogger(ctx, next) {
|
|
@@ -15,11 +16,16 @@ module.exports = options => {
|
|
|
if (ctx.url.indexOf('/public/') === 0) return;
|
|
|
|
|
|
const responseTime = new Date();
|
|
|
- const runTime = responseTime.getTime() - ctx.logTime.getTime();
|
|
|
+ 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 = {
|
|
|
- requestTime: ctx.logTime, responseTime, runTime,
|
|
|
+ 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,
|