var env = process.env.NODE_ENV || 'development'; var cfg = require('../../config/config.js').get(env); var conf = {}; conf.log = cfg.log; conf.log.projectName = cfg.app_name; var logg = require('commonlog-kb').init(conf); // wait log stats // logg.stat('stat_name'); var logger = []; var summaryList = []; var start = {}; var detail = {}; logger.log = function (msg,type) { if(!type) type = 'debug'; type = type.toLowerCase(); switch(type) { case 'debug': logg.debug(msg); break; case 'info': logg.info(msg); break; case 'warn': logg.warn(msg); break; case 'error': logg.error(msg); break; default: logg.debug(msg); } console.log(msg); } logger.startlog = function (cmdData,rawData) { var data = { body : rawData.body, query : rawData.query, params : rawData.params }; start = { session : rawData.headers, cmd : cmdData, identity : data }; // console.log(start); } logger.addSummary = function (nodeData,cmdData,resultData) { summary = { node : nodeData, cmd : cmdData, resultCode : resultData.resultCode, resultDesc : resultData.developerMessage }; summaryList.push(summary); // console.log(summary); } logger.logSummary = function () { var log = logg.summary(start.session, start.cmd, start.identity); var row; for (let index = 0; index < summaryList.length; index++) { row = summaryList[index]; log.addSuccessBlock(row.node,row.cmd,row.resultCode,row.resultDesc); } log.end(row.resultCode,row.resultDesc) } var addlogDetailData = function(inputType,node,cmd,type,rawData,data){ if(inputType == 'input') { if(!data) { var data = { body : rawData.body, query : rawData.query, params : rawData.params }; } detail.input = { node : node, cmd : cmd, type : type, rawData : data, data : data }; // console.log(detail.input); } else if(inputType == 'output') { detail.output = { node : node, cmd : cmd, type : type, rawData : rawData, data : data }; // console.log(detail.output); } } var logDetailData = { addInput : function(node,cmd,type,rawData,data){addlogDetailData('input',node,cmd,type,rawData,data)}, addOutput : function(node,cmd,type,rawData,data){addlogDetailData('output',node,cmd,type,rawData,data)}, write : function () { var log = logg.detail(start.session, start.cmd, start.identity); log.addInput( detail.input.node, detail.input.cmd, detail.input.type, detail.input.rawData, detail.input.data ); log.addOutput( detail.output.node, detail.output.cmd, detail.output.type, detail.output.rawData, detail.output.data ); log.end(); } }; logger.logDetail = logDetailData; module.exports = logger; // var s1 = logg.summary('session1', 'cmd', 'identity'); // s1.addSuccessBlock('node', 'a', '20000', 'resultDesc'); // s1.addSuccessBlock('node', 'b', 'resultCode', 'resultDesc'); // s1.addSuccessBlock('node1', 'c', 'resultCode', 'resultDesc'); // s1.addSuccessBlock('node1', 'cmd', 'resultCode', 'resultDesc'); // s1.addSuccessBlock('node1', 'cmd', 'resultCode', 'resultDesc 1'); // s1.addSuccessBlock('node1', 'cmd', 'resultCode', 'resultDesc 1'); // var s2 = logg.summary('session2', 'cmd', 'identity'); // s1.end('20000','sucesss'); // s2.end(); //type// - REQ, RES, RES_TIMEOUT, REQ_RETRY_1/1 // var ddd = logg.detail('session1', 'cmd', 'identity'); // ddd.addInput( 'node', 'cmd', 'type', 'rawData', 'data' ); // ddd.addOutput( 'node', 'cmd', 'type', 'rawData', 'data'); // ddd.end();