| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | 'use strict';/** * 自动记录日志 * * @author CaiAoLin * @date 2017/10/30 * @version */module.exports = options => {    return function* autoLogger(next) {        // 记录业务日志        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');        }        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));        }        // 自动记录log的action        // const autoLogAction = ['save', 'delete'];        // if (this.actionName !== undefined && autoLogAction.indexOf(this.actionName) >= 0) {        //     // 操作数据的id        //     const idReg = /\/(\d+)/;        //     const paramInfo = this.request.originalUrl.match(idReg);        //     let targetId = paramInfo[1] !== undefined ? paramInfo[1] : -1;        //     targetId = parseInt(targetId);        //        //     const logData = {        //         controller: this.controllerName,        //         action: this.actionName,        //         operation: this.currentName === undefined ? '保存数据' : this.currentName,        //         target_id: targetId,        //     };        //     yield this.service.log.addLog(logData);        // }        yield next;    };};
 |