| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 'use strict';/** * 自动记录日志 * * @author CaiAoLin * @date 2017/10/30 * @version */const os = require('os');module.exports = options => {    return function* autoLogger(next) {        this.logId = this.app.uuid.v1();        // 记录业务日志        function getBussinessLogger(ctx) {            if (ctx.url.match(/ledger/)) {                return ctx.getLogger('ledger');            } else if (ctx.url.match(/stage/)) {                return ctx.getLogger('stage');            }            return ctx.getLogger('mixed');        }        if (this.url.indexOf('/public/') !== 0) {            const bLogger = getBussinessLogger(this);            if (this.session.sessionUser) {                const logData = {                    method: this.method,                    user: this.session.sessionUser,                    project: this.session.sessionProject,                    data: this.request.body,                };                bLogger.info(JSON.stringify(logData));            } else {                const logData = {                    method: this.method,                    data: this.body,                };                bLogger.info(JSON.stringify(logData));            }            this.logInfo = { id: this.logId, time: new Date() };            const cpus = os.cpus();            this.logInfo.cpus = 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)}%`            });            yield this.service.globalLog.requestLog(this.request.body.data);        }        yield next;    };};
 |