Built motion from commit 97153652.|2.6.26
[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 _0x169c=['%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)','url','device','other','agent_name','test','setupLoggers','fs-extra','lodash','express-winston','path','util','./loggers','fileLogger','./safe-template','xcally','join','client','ensureDir','catch','log','user','then','data','timestamp','error','api','set','client-side-logger','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','body','\x20body=%s','format','method','headers','x-forwarded-for','connection','remoteAddress','statusCode','responseTime','name','role','agent_id'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0x169c,0xe8));var _0xc169=function(_0x22ee0f,_0x22e6d2){_0x22ee0f=_0x22ee0f-0x0;var _0x204696=_0x169c[_0x22ee0f];return _0x204696;};var fs=require(_0xc169('0x0'));var _=require(_0xc169('0x1'));var ewinston=require(_0xc169('0x2'));var path=require(_0xc169('0x3'));var util=require(_0xc169('0x4'));var fileLogger=require(_0xc169('0x5'))[_0xc169('0x6')];var safeTemplate=require(_0xc169('0x7'))['safeTemplate'];var maskSensitiveData=require('./mask-sensitive-data')['maskSensitiveData'];function ClientSideLogger(){function _0x226753(_0x155648){var _0x1f5871=path['join']('/var','log',_0xc169('0x8'));var _0x4d7691=path[_0xc169('0x9')](_0xc169('0xa'),_0x155648['role']+'-'+_0x155648['name']);return fs[_0xc169('0xb')](path['join'](_0x1f5871,_0x4d7691))['then'](function(){var _0x4e5f28=fileLogger('client',path[_0xc169('0x9')](_0x1f5871,_0x4d7691));return _0x4e5f28;})[_0xc169('0xc')](function(_0x1db39f){throw _0x1db39f;});}this[_0xc169('0xd')]=function(_0x43cf89,_0x2ff8fa,_0x5985fa,_0x2dd0bf){return _0x226753(_0x43cf89[_0xc169('0xe')])[_0xc169('0xf')](function(_0xef0a2b){var _0x51f61c=_0xef0a2b[_0x2ff8fa];return _0x51f61c;})[_0xc169('0xf')](function(_0x11ecb8){var _0x4c80e2=_0x43cf89[_0xc169('0xe')]?_0x43cf89[_0xc169('0xe')]['id']:'no-user';var _0x8564b2=_0x2dd0bf[_0xc169('0x10')];var _0x2c302b=_0x2dd0bf[_0xc169('0x11')];var _0x209325=new Date(Number(_0x2c302b));return _0x11ecb8(_0x4c80e2,_0x209325,_0x5985fa,_0x8564b2);})[_0xc169('0xc')](function(_0x13735b){fileLogger(_0xc169('0xa'))[_0xc169('0x12')](_0x13735b);});};}function setupLoggers(_0xe254f1){return new Promise(function(_0x4be756){var _0xd9a4aa=new ClientSideLogger();var _0x4c6330=fileLogger(_0xc169('0x13'));var _0x51a1bf=fileLogger('auth');_0xe254f1[_0xc169('0x14')](_0xc169('0x15'),_0xd9a4aa);_0xe254f1[_0xc169('0x16')](ewinston[_0xc169('0x17')]({'winstonInstance':_0x4c6330,'meta':![],'statusLevels':!![],'msg':function(_0x2debb7,_0x4a45e0){var _0x305848=_0xc169('0x18');if(!_['isEmpty'](_0x2debb7[_0xc169('0x19')])){_0x305848+=_0xc169('0x1a');var _0x4ed00a=_0x2debb7[_0xc169('0x19')];maskSensitiveData(_0x4ed00a);}return safeTemplate(util[_0xc169('0x1b')](_0x305848,_0x2debb7[_0xc169('0x1c')],_0x2debb7[_0xc169('0x1d')][_0xc169('0x1e')]?_0x2debb7['headers'][_0xc169('0x1e')]:_0x2debb7[_0xc169('0x1f')][_0xc169('0x20')]||_0x2debb7['ip'],_0x2debb7['url'],_0x4a45e0[_0xc169('0x21')],_0x4a45e0[_0xc169('0x22')],_0x2debb7[_0xc169('0xe')]?_0x2debb7[_0xc169('0xe')]['id']:null,_0x2debb7['user']?_0x2debb7['user'][_0xc169('0x23')]:null,_0x2debb7['user']?_0x2debb7[_0xc169('0xe')][_0xc169('0x24')]:null,_0x4ed00a?util['inspect'](_0x4ed00a,![],null):''));}}));_0xe254f1[_0xc169('0x16')](ewinston['logger']({'winstonInstance':_0x51a1bf,'meta':![],'statusLevels':!![],'msg':function(_0x1a0bed,_0x4cb875){var _0x5bdf24='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s';if(_0x1a0bed[_0xc169('0x19')]&&_0x1a0bed[_0xc169('0x19')]['device']&&_0x1a0bed[_0xc169('0x19')][_0xc169('0x25')]){_0x5bdf24=_0xc169('0x26');}return util['format'](_0x5bdf24,_0x1a0bed[_0xc169('0x1c')],_0x1a0bed[_0xc169('0x1d')][_0xc169('0x1e')]?_0x1a0bed[_0xc169('0x1d')]['x-forwarded-for']:_0x1a0bed[_0xc169('0x1f')][_0xc169('0x20')]||_0x1a0bed['ip'],_0x1a0bed[_0xc169('0x27')],_0x4cb875[_0xc169('0x21')],_0x4cb875[_0xc169('0x22')],_0x1a0bed[_0xc169('0xe')]?_0x1a0bed[_0xc169('0xe')]['id']:null,_0x1a0bed[_0xc169('0xe')]?_0x1a0bed[_0xc169('0xe')][_0xc169('0x23')]:null,_0x1a0bed[_0xc169('0xe')]?_0x1a0bed[_0xc169('0xe')][_0xc169('0x24')]:null,_0x1a0bed[_0xc169('0x19')]&&_0x1a0bed['body'][_0xc169('0x28')]?_0x1a0bed[_0xc169('0x19')][_0xc169('0x28')]:_0xc169('0x29'),_0x1a0bed[_0xc169('0x19')]&&_0x1a0bed[_0xc169('0x19')][_0xc169('0x25')]?_0x1a0bed['body']['agent_id']:'',_0x1a0bed[_0xc169('0x19')]&&_0x1a0bed[_0xc169('0x19')][_0xc169('0x2a')]?_0x1a0bed['body'][_0xc169('0x2a')]:'');},'ignoreRoute':function(_0xff971f){var _0xd427bd=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0xd427bd[_0xc169('0x2b')](_0xff971f[_0xc169('0x27')]);}}));return _0x4be756();});}exports[_0xc169('0x2c')]=setupLoggers;