d6aaf24724edde9ee80c26f09f215c13553fbad0
[motion2.git] / server / utils / client-side-logger.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xd9c8=['statusCode','responseTime','inspect','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','device','agent_id','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)','agent_name','test','setupLoggers','lodash','express-winston','path','util','./loggers','fileLogger','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','log','xcally','client','role','name','ensureDir','then','catch','user','no-user','timestamp','error','api','auth','set','client-side-logger','use','logger','isEmpty','body','\x20body=%s','format','method','headers','x-forwarded-for','connection','remoteAddress','url'];(function(_0x329f47,_0x10b7ba){var _0x4ef1a7=function(_0x1d02e4){while(--_0x1d02e4){_0x329f47['push'](_0x329f47['shift']());}};_0x4ef1a7(++_0x10b7ba);}(_0xd9c8,0xce));var _0x8d9c=function(_0x5f0089,_0x227e2c){_0x5f0089=_0x5f0089-0x0;var _0x193892=_0xd9c8[_0x5f0089];return _0x193892;};var fs=require('fs-extra');var _=require(_0x8d9c('0x0'));var ewinston=require(_0x8d9c('0x1'));var path=require(_0x8d9c('0x2'));var util=require(_0x8d9c('0x3'));var fileLogger=require(_0x8d9c('0x4'))[_0x8d9c('0x5')];var safeTemplate=require('./safe-template')[_0x8d9c('0x6')];var maskSensitiveData=require(_0x8d9c('0x7'))[_0x8d9c('0x8')];function ClientSideLogger(){function _0x310e43(_0x18db1c){var _0x34069b=path[_0x8d9c('0x9')](_0x8d9c('0xa'),_0x8d9c('0xb'),_0x8d9c('0xc'));var _0x3da6bf=path[_0x8d9c('0x9')](_0x8d9c('0xd'),_0x18db1c[_0x8d9c('0xe')]+'-'+_0x18db1c[_0x8d9c('0xf')]);return fs[_0x8d9c('0x10')](path[_0x8d9c('0x9')](_0x34069b,_0x3da6bf))[_0x8d9c('0x11')](function(){var _0x4047c2=fileLogger(_0x8d9c('0xd'),path['join'](_0x34069b,_0x3da6bf));return _0x4047c2;})[_0x8d9c('0x12')](function(_0x31e103){throw _0x31e103;});}this[_0x8d9c('0xb')]=function(_0x15b1ae,_0x2a4843,_0x5b87c3,_0x3b718c){return _0x310e43(_0x15b1ae[_0x8d9c('0x13')])[_0x8d9c('0x11')](function(_0xda63e4){var _0xeb88f4=_0xda63e4[_0x2a4843];return _0xeb88f4;})['then'](function(_0x1448e3){var _0x387e37=_0x15b1ae[_0x8d9c('0x13')]?_0x15b1ae['user']['id']:_0x8d9c('0x14');var _0x476956=_0x3b718c['data'];var _0x29d6c5=_0x3b718c[_0x8d9c('0x15')];var _0xb914ab=new Date(Number(_0x29d6c5));return _0x1448e3(_0x387e37,_0xb914ab,_0x5b87c3,_0x476956);})[_0x8d9c('0x12')](function(_0x35d4bd){fileLogger(_0x8d9c('0xd'))[_0x8d9c('0x16')](_0x35d4bd);});};}function setupLoggers(_0x4231f2){return new Promise(function(_0x17e997){var _0x50c7d9=new ClientSideLogger();var _0x323227=fileLogger(_0x8d9c('0x17'));var _0x2f0ba7=fileLogger(_0x8d9c('0x18'));_0x4231f2[_0x8d9c('0x19')](_0x8d9c('0x1a'),_0x50c7d9);_0x4231f2[_0x8d9c('0x1b')](ewinston[_0x8d9c('0x1c')]({'winstonInstance':_0x323227,'meta':![],'statusLevels':!![],'msg':function(_0x4f5bb6,_0x4c9db1){var _0x453cbd='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_[_0x8d9c('0x1d')](_0x4f5bb6[_0x8d9c('0x1e')])){_0x453cbd+=_0x8d9c('0x1f');var _0x4f8df4=_0x4f5bb6[_0x8d9c('0x1e')];maskSensitiveData(_0x4f8df4);}return safeTemplate(util[_0x8d9c('0x20')](_0x453cbd,_0x4f5bb6[_0x8d9c('0x21')],_0x4f5bb6[_0x8d9c('0x22')][_0x8d9c('0x23')]?_0x4f5bb6['headers'][_0x8d9c('0x23')]:_0x4f5bb6[_0x8d9c('0x24')][_0x8d9c('0x25')]||_0x4f5bb6['ip'],_0x4f5bb6[_0x8d9c('0x26')],_0x4c9db1[_0x8d9c('0x27')],_0x4c9db1[_0x8d9c('0x28')],_0x4f5bb6['user']?_0x4f5bb6[_0x8d9c('0x13')]['id']:null,_0x4f5bb6[_0x8d9c('0x13')]?_0x4f5bb6[_0x8d9c('0x13')][_0x8d9c('0xf')]:null,_0x4f5bb6['user']?_0x4f5bb6['user']['role']:null,_0x4f8df4?util[_0x8d9c('0x29')](_0x4f8df4,![],null):''));}}));_0x4231f2[_0x8d9c('0x1b')](ewinston[_0x8d9c('0x1c')]({'winstonInstance':_0x2f0ba7,'meta':![],'statusLevels':!![],'msg':function(_0x5108be,_0x4194a0){var _0x5a5b6b=_0x8d9c('0x2a');if(_0x5108be[_0x8d9c('0x1e')]&&_0x5108be[_0x8d9c('0x1e')][_0x8d9c('0x2b')]&&_0x5108be[_0x8d9c('0x1e')][_0x8d9c('0x2c')]){_0x5a5b6b=_0x8d9c('0x2d');}return util[_0x8d9c('0x20')](_0x5a5b6b,_0x5108be['method'],_0x5108be[_0x8d9c('0x22')][_0x8d9c('0x23')]?_0x5108be[_0x8d9c('0x22')][_0x8d9c('0x23')]:_0x5108be[_0x8d9c('0x24')]['remoteAddress']||_0x5108be['ip'],_0x5108be['url'],_0x4194a0[_0x8d9c('0x27')],_0x4194a0['responseTime'],_0x5108be[_0x8d9c('0x13')]?_0x5108be['user']['id']:null,_0x5108be['user']?_0x5108be[_0x8d9c('0x13')][_0x8d9c('0xf')]:null,_0x5108be[_0x8d9c('0x13')]?_0x5108be[_0x8d9c('0x13')][_0x8d9c('0xe')]:null,_0x5108be[_0x8d9c('0x1e')]&&_0x5108be[_0x8d9c('0x1e')][_0x8d9c('0x2b')]?_0x5108be['body'][_0x8d9c('0x2b')]:'other',_0x5108be[_0x8d9c('0x1e')]&&_0x5108be[_0x8d9c('0x1e')][_0x8d9c('0x2c')]?_0x5108be[_0x8d9c('0x1e')]['agent_id']:'',_0x5108be['body']&&_0x5108be['body'][_0x8d9c('0x2e')]?_0x5108be[_0x8d9c('0x1e')][_0x8d9c('0x2e')]:'');},'ignoreRoute':function(_0x5b6a3c){var _0x50f9b5=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x50f9b5[_0x8d9c('0x2f')](_0x5b6a3c[_0x8d9c('0x26')]);}}));return _0x17e997();});}exports[_0x8d9c('0x30')]=setupLoggers;