Blame view

ais-structure/src/modules/helper/log.js 11.1 KB
23001dfb   sumatek   update log
1
2
3
4
5
6
7
8
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);
c4a567d0   sumatek   merge
9
10
11
12
13
14
15
16
17

// wait log stats
// logg.stat('stat_name');

var logger = [];
var summaryList = [];
var start = {};
var detail = {};
var startTime;
23001dfb   sumatek   update log
18

23001dfb   sumatek   update log
19
logger.stat = function (msg){
c4a567d0   sumatek   merge
20
21
22
23
24
25
26
27
28
29
30
31
32
    logg.stat(msg);
}

logger.log = function (msg,type)
{
    
    if(!type)
        type = 'debug';

    type = type.toLowerCase();

    switch(type) {
        case 'debug':
23001dfb   sumatek   update log
33
            logg.debug(msg);
c39cf9da   Nattapon Wongpaet   update stat log
34
35
36
37
            break;
        case 'info':
            logg.info(msg);
            break;
095909b9   sumatek   update log
38
        case 'warn':
23001dfb   sumatek   update log
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
            logg.warn(msg);
            break;
        case 'error':
            logg.error(msg);
            break;
        default:
            logg.debug(msg);
    }

    console.log(msg);
}

logger.startlog = function (cmdData,session,identity)
{
    start = {
        session : session,
        cmd : cmdData,
        identity : identity   
    };
}

logger.addSuccessSummary = function (nodeData,cmdData,resultCode,developerMessage)
{
0ec6fba7   sumatek   update fix bug
62
63
    summary = {
        node : undefinedToNull(nodeData),
23001dfb   sumatek   update log
64
65
        cmd : cmdData,
        resultCode : resultCode,
095909b9   sumatek   update log
66
        resultDesc : developerMessage,
c4a567d0   sumatek   merge
67
        type : "success"      
23001dfb   sumatek   update log
68
69
    };
    summaryList.push(summary);
b253306b   Nattapon Wongpaet   update log get cu...
70
    // console.log(summary);
23001dfb   sumatek   update log
71
}
4bcb9ffa   Nattapon Wongpaet   update log vizcard
72
73

logger.addErrorSummary = function (nodeData,cmdData,resultCode,developerMessage)
e2039477   Nattapon Wongpaet   update log
74
{
23001dfb   sumatek   update log
75
    summary = {
c4a567d0   sumatek   merge
76
77
        node : undefinedToNull(nodeData),
        cmd : cmdData,
095909b9   sumatek   update log
78
        resultCode : resultCode,
23001dfb   sumatek   update log
79
80
        resultDesc : developerMessage,
        type : "error"       
c4a567d0   sumatek   merge
81
    };
e2039477   Nattapon Wongpaet   update log
82
83
    summaryList.push(summary);
    // console.log(summary);
b253306b   Nattapon Wongpaet   update log get cu...
84
}
e2039477   Nattapon Wongpaet   update log
85

4bcb9ffa   Nattapon Wongpaet   update log vizcard
86
87
logger.logSummary = function (response)
{
e2039477   Nattapon Wongpaet   update log
88
89
    var log = logg.summary(start.session,start.cmd,start.identity);
    var row;
c4a567d0   sumatek   merge
90
91
92
    for (let index = 0; index < summaryList.length; index++) {
        row = summaryList[index];
        if(row.type === "success"){
e2039477   Nattapon Wongpaet   update log
93
94
95
            log.addSuccessBlock(row.node,row.cmd,row.resultCode,row.resultDesc);
        } else {
            log.addErrorBlock(row.node,row.cmd,row.resultCode,row.resultDesc);
c4a567d0   sumatek   merge
96
        }
23001dfb   sumatek   update log
97
    }
c4a567d0   sumatek   merge
98
99
100
101

    if(response){
        log.end(response.resultCode,response.developerMessage)
    } else {
c39cf9da   Nattapon Wongpaet   update stat log
102
        log.end()
23001dfb   sumatek   update log
103
104
    }
}
095909b9   sumatek   update log
105

e2039477   Nattapon Wongpaet   update log
106
107
108
109
110
var addlogDetailData = function(inputType,node,cmd,type,rawData,data){
    if(inputType == 'input')
    {
        if(rawData)
        {
095909b9   sumatek   update log
111
            var raw = {
50ad7d6d   Nattapon Wongpaet   update get vizcar...
112
                body : rawData.body,
53004544   Nattapon Wongpaet   update customer
113
114
115
116
117
                query : rawData.query,
                params : rawData.params,
                response : rawData.response
            };
        } else {
095909b9   sumatek   update log
118
            var raw = { 
23001dfb   sumatek   update log
119
            };
c4a567d0   sumatek   merge
120
        }
095909b9   sumatek   update log
121
122

        detail.input = {
e2039477   Nattapon Wongpaet   update log
123
            node : undefinedToNull(node),
23001dfb   sumatek   update log
124
            cmd : cmd,
e2039477   Nattapon Wongpaet   update log
125
            type : type,
095909b9   sumatek   update log
126
127
            rawData : raw,
            data : data
a55a3d02   Nattapon Wongpaet   update post custo...
128
129
        };

095909b9   sumatek   update log
130
        // console.log(detail.input);
e2039477   Nattapon Wongpaet   update log
131
    }
50ad7d6d   Nattapon Wongpaet   update get vizcar...
132
    else if(inputType == 'output')
e2039477   Nattapon Wongpaet   update log
133
    {
23001dfb   sumatek   update log
134
        detail.output = {
095909b9   sumatek   update log
135
            node : undefinedToNull(node),
c4a567d0   sumatek   merge
136
            cmd : cmd,
b253306b   Nattapon Wongpaet   update log get cu...
137
            type : type,
095909b9   sumatek   update log
138
139
            rawData : rawData,
            data : data
e2039477   Nattapon Wongpaet   update log
140
        };
095909b9   sumatek   update log
141
142
143

        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 );
c4a567d0   sumatek   merge
144
        log.addOutput( detail.output.node, detail.output.cmd, detail.output.type, detail.output.rawData, detail.output.data );
095909b9   sumatek   update log
145
146
147
148
        log.end();
        // console.log(detail.output);
    }
}
c4a567d0   sumatek   merge
149
150

var logDetailData = {
b253306b   Nattapon Wongpaet   update log get cu...
151
    addInput : function(node,cmd,type,rawData,data){addlogDetailData('input',node,cmd,type,rawData,data)},
095909b9   sumatek   update log
152
153
154
155
156
157
    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 );
c4a567d0   sumatek   merge
158
159
    //     log.end();
    // }
50ad7d6d   Nattapon Wongpaet   update get vizcar...
160
161
162
163
};

logger.logDetail = logDetailData;

095909b9   sumatek   update log
164
var undefinedToNull = function(data){
23001dfb   sumatek   update log
165
    if(!data){
23001dfb   sumatek   update log
166
167
        data = 'null';
    } else {
095909b9   sumatek   update log
168
        data = data;
c4a567d0   sumatek   merge
169
170
171
    }

    return data;
095909b9   sumatek   update log
172
173
174
175
}

logger.startEC = function(req)
{
b253306b   Nattapon Wongpaet   update log get cu...
176
177
178
179
180
181
182
183
184
185
    var newLine = "\r\n";
    var messageRes = '';
    startTime = new Date();

    // if(!mapTime[req.headers.host])
    // {
    //     mapTime[req.headers.host]
    // }
    

c4a567d0   sumatek   merge
186
187

    // console.log(Object.keys(req));
05183f06   sumatek   update log
188
189
    // console.log(req.headers);
    // console.log(req.body);
c4a567d0   sumatek   merge
190
191
192
193
    
    if(req.body)
    {
        if(typeof req.body === 'string')
34fdaca2   sumatek   fix bug log usetime
194
            body = req.bod;
c4a567d0   sumatek   merge
195
        else
05183f06   sumatek   update log
196
            body = JSON.stringify(req.body);
05183f06   sumatek   update log
197
    }
c4a567d0   sumatek   merge
198

05183f06   sumatek   update log
199
    var header = "";
c4a567d0   sumatek   merge
200
201
    if(req.headers)
    {
34fdaca2   sumatek   fix bug log usetime
202
        if(typeof req.headers === 'string')
05183f06   sumatek   update log
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
            header = req.headers;
        else
            header = JSON.stringify(req.headers);
    }

    messageRes += newLine+newLine+"#====> Incoming Message <====# ";
    messageRes += newLine+"Header : "+header;
    messageRes += newLine+"Body : "+body;
    messageRes += newLine+"Time in : "+startTime.toISOString();
    messageRes += newLine

    logger.log(messageRes);
};

logger.endEC = function(res)
{
   
    var newLine = "\r\n";
    var messageRes = '';
    var endTime = new Date();


    var body = "";
c4a567d0   sumatek   merge
226
    if(res.resBody)
05183f06   sumatek   update log
227
228
229
230
    {
        if(typeof res.resBody === 'string')
            body = res.resBody;
        else
095909b9   sumatek   update log
231
            body = JSON.stringify(res.resBody);
c4a567d0   sumatek   merge
232
233
    }

05183f06   sumatek   update log
234
235
    var header = "";
    if(res.req.headers)
c4a567d0   sumatek   merge
236
    {
05183f06   sumatek   update log
237
238
239
240
        if(typeof res.req.headers === 'string')
            header = res.req.headers;
        else
            header = JSON.stringify(res.req.headers);
c4a567d0   sumatek   merge
241
    }
05183f06   sumatek   update log
242

c4a567d0   sumatek   merge
243
    messageRes += newLine+newLine+"#====> Outgoing Message <====# ";
05183f06   sumatek   update log
244
    messageRes += newLine+"Header : "+header;
c4a567d0   sumatek   merge
245
    messageRes += newLine+"Body : "+body;
05183f06   sumatek   update log
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
    messageRes += newLine+"Time out : "+endTime.toISOString();
    messageRes += newLine+"Use times : "+Math.abs(endTime - startTime)+" ms";


    // messageRes += `
    // ________________________________________________________________________________________________________________________
    // __________#####___________________________________#####___________________________________#####_________________________
    // _________##____#_________________________________##____#_________________________________##____#________________________
    // ________##______#_______________________________##______#_______________________________##______#_______________________
    // ________#________#______________________________#________#______________________________#________#______________________
    // _________________#######_________________________________#######_________________________________#######________________
    // _________________#########_______________________________#########_______________________________#########______________
    // __________##_____###########______________________##_____###########______________________##_____###########____________
    // ___________#_____#############_____________________#_____#############_____________________#_____#############__________
    // _________________##############___###____________________##############___###____________________##############___###___
    // _______##________###############_##_##_________##________###############_##_##_________##________###############_##_##__
    // ______###_______#################____#________###_______#################____#________###_______#################____#__
    // ____#######___##________#########____#______#######___##________#########____#______#######___##________#########____#__
    // ___#___####___#______________###_____#_____#___####___#______________###_____#_____#___####___#______________###_____#__
    // ___#___##______#__#__________________#_____#___##______#__#__________________#_____#___##______#__#__________________#__
c4a567d0   sumatek   merge
266
    // ___#_________________________________#_____#_________________________________#_____#_________________________________#__
05183f06   sumatek   update log
267
268
269
270
271
272
    // ___#______________##_________________#_____#______________##_________________#_____#______________##_________________#__
    // __#___________#_________________#___#_____#___________#_________________#___#_____#___________#_________________#___#___
    // ___#__________#________________###__#______#__________#________________###__#______#__________#________________###__#___
    // ____##_______#_________________#_###________##_______#_________________#_###________##_______#_________________#_###____
    // _____#________________________##_____________#________________________##_____________#________________________##________
    // _____#________________________#______________#________________________#______________#________________________#_________
27aed231   Nattapon Wongpaet   update post membe...
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
    // _____#_______________________#_______________#_______________________#_______________#_______________________#__________
    // _____#______________________##_______________#______________________##_______________#______________________##__________
    // _____##_____________________#________________##_____________________#________________##_____________________#___________
    // ______#____________________#__________________#____________________#__________________#____________________#____________
    // ______#___________________#___________________#___________________#___________________#___________________#_____________
    // _______#_________________#_____________________#_________________#_____________________#_________________#______________
    // _______##_______________#______________________##_______________#______________________##_______________#_______________
    // ________##____________##________________________##____________##________________________##____________##________________
    // __________##________###___________________________##________###___________________________##________###_________________
    // ____________#########_______________________________#########_______________________________#########___________________
    // ________________________________________________________________________________________________________________________
    
    // ________________________________________________________________________________________________________________________
    // `;
    
    logger.log(messageRes);
    messageRes += newLine
};


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');

05183f06   sumatek   update log
307
// s1.end('20000','sucesss');
27aed231   Nattapon Wongpaet   update post membe...
308
309
// s2.end();

05183f06   sumatek   update log
310
//type// - REQ, RES, RES_TIMEOUT, REQ_RETRY_1/1
c4a567d0   sumatek   merge
311
312
// var ddd = logg.detail('session1', 'cmd', 'identity');
// ddd.addInput( 'node', 'cmd', 'type', 'rawData', 'data' );
05183f06   sumatek   update log
313
314
// ddd.addOutput( 'node', 'cmd', 'type', 'rawData', 'data');
// ddd.end();
095909b9   sumatek   update log

23001dfb   sumatek   update log

095909b9   sumatek   update log