Built motion from commit 3c2ce842.|2.6.31
[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 _0xb654=['%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','agent_id','%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','express-winston','path','util','./loggers','./safe-template','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','log','xcally','client','role','name','then','catch','user','data','error','api','set','client-side-logger','use','isEmpty','body','\x20body=%s','format','method','headers','x-forwarded-for','connection','remoteAddress','statusCode','responseTime','inspect','logger'];(function(_0x5e36d1,_0x471178){var _0x950b9e=function(_0x1872f3){while(--_0x1872f3){_0x5e36d1['push'](_0x5e36d1['shift']());}};_0x950b9e(++_0x471178);}(_0xb654,0x179));var _0x4b65=function(_0x324136,_0x440fe6){_0x324136=_0x324136-0x0;var _0x55ffef=_0xb654[_0x324136];return _0x55ffef;};var fs=require(_0x4b65('0x0'));var _=require('lodash');var ewinston=require(_0x4b65('0x1'));var path=require(_0x4b65('0x2'));var util=require(_0x4b65('0x3'));var fileLogger=require(_0x4b65('0x4'))['fileLogger'];var safeTemplate=require(_0x4b65('0x5'))[_0x4b65('0x6')];var maskSensitiveData=require(_0x4b65('0x7'))[_0x4b65('0x8')];function ClientSideLogger(){function _0x24d607(_0x2b9635){var _0x3cd55b=path[_0x4b65('0x9')]('/var',_0x4b65('0xa'),_0x4b65('0xb'));var _0x31b9ba=path[_0x4b65('0x9')](_0x4b65('0xc'),_0x2b9635[_0x4b65('0xd')]+'-'+_0x2b9635[_0x4b65('0xe')]);return fs['ensureDir'](path[_0x4b65('0x9')](_0x3cd55b,_0x31b9ba))[_0x4b65('0xf')](function(){var _0xf1e0d2=fileLogger(_0x4b65('0xc'),path[_0x4b65('0x9')](_0x3cd55b,_0x31b9ba));return _0xf1e0d2;})[_0x4b65('0x10')](function(_0x535a35){throw _0x535a35;});}this['log']=function(_0x13548f,_0x5cb2e8,_0x36b226,_0x243d9a){return _0x24d607(_0x13548f['user'])['then'](function(_0x56328f){var _0x3c5163=_0x56328f[_0x5cb2e8];return _0x3c5163;})[_0x4b65('0xf')](function(_0x2f6b50){var _0x2c9025=_0x13548f[_0x4b65('0x11')]?_0x13548f[_0x4b65('0x11')]['id']:'no-user';var _0xcdc566=_0x243d9a[_0x4b65('0x12')];var _0x1a94ab=_0x243d9a['timestamp'];var _0x5ca157=new Date(Number(_0x1a94ab));return _0x2f6b50(_0x2c9025,_0x5ca157,_0x36b226,_0xcdc566);})[_0x4b65('0x10')](function(_0x571cb1){fileLogger('client')[_0x4b65('0x13')](_0x571cb1);});};}function setupLoggers(_0x3603d3){return new Promise(function(_0x2b598c){var _0x1f5ad3=new ClientSideLogger();var _0x53b63f=fileLogger(_0x4b65('0x14'));var _0x4cb057=fileLogger('auth');_0x3603d3[_0x4b65('0x15')](_0x4b65('0x16'),_0x1f5ad3);_0x3603d3[_0x4b65('0x17')](ewinston['logger']({'winstonInstance':_0x53b63f,'meta':![],'statusLevels':!![],'msg':function(_0x47d76b,_0x264e4e){var _0x4a42aa='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_[_0x4b65('0x18')](_0x47d76b[_0x4b65('0x19')])){_0x4a42aa+=_0x4b65('0x1a');var _0x153947=_0x47d76b[_0x4b65('0x19')];maskSensitiveData(_0x153947);}return safeTemplate(util[_0x4b65('0x1b')](_0x4a42aa,_0x47d76b[_0x4b65('0x1c')],_0x47d76b[_0x4b65('0x1d')][_0x4b65('0x1e')]?_0x47d76b[_0x4b65('0x1d')][_0x4b65('0x1e')]:_0x47d76b[_0x4b65('0x1f')][_0x4b65('0x20')]||_0x47d76b['ip'],_0x47d76b['url'],_0x264e4e[_0x4b65('0x21')],_0x264e4e[_0x4b65('0x22')],_0x47d76b[_0x4b65('0x11')]?_0x47d76b['user']['id']:null,_0x47d76b[_0x4b65('0x11')]?_0x47d76b['user'][_0x4b65('0xe')]:null,_0x47d76b['user']?_0x47d76b[_0x4b65('0x11')][_0x4b65('0xd')]:null,_0x153947?util[_0x4b65('0x23')](_0x153947,![],null):''));}}));_0x3603d3[_0x4b65('0x17')](ewinston[_0x4b65('0x24')]({'winstonInstance':_0x4cb057,'meta':![],'statusLevels':!![],'msg':function(_0x17c189,_0x3b1547){var _0x1ea141=_0x4b65('0x25');if(_0x17c189[_0x4b65('0x19')]&&_0x17c189[_0x4b65('0x19')]['device']&&_0x17c189['body'][_0x4b65('0x26')]){_0x1ea141=_0x4b65('0x27');}return util['format'](_0x1ea141,_0x17c189[_0x4b65('0x1c')],_0x17c189[_0x4b65('0x1d')]['x-forwarded-for']?_0x17c189[_0x4b65('0x1d')][_0x4b65('0x1e')]:_0x17c189[_0x4b65('0x1f')][_0x4b65('0x20')]||_0x17c189['ip'],_0x17c189[_0x4b65('0x28')],_0x3b1547[_0x4b65('0x21')],_0x3b1547[_0x4b65('0x22')],_0x17c189[_0x4b65('0x11')]?_0x17c189[_0x4b65('0x11')]['id']:null,_0x17c189[_0x4b65('0x11')]?_0x17c189[_0x4b65('0x11')][_0x4b65('0xe')]:null,_0x17c189['user']?_0x17c189[_0x4b65('0x11')][_0x4b65('0xd')]:null,_0x17c189['body']&&_0x17c189[_0x4b65('0x19')][_0x4b65('0x29')]?_0x17c189['body'][_0x4b65('0x29')]:_0x4b65('0x2a'),_0x17c189[_0x4b65('0x19')]&&_0x17c189[_0x4b65('0x19')][_0x4b65('0x26')]?_0x17c189[_0x4b65('0x19')][_0x4b65('0x26')]:'',_0x17c189[_0x4b65('0x19')]&&_0x17c189['body'][_0x4b65('0x2b')]?_0x17c189[_0x4b65('0x19')][_0x4b65('0x2b')]:'');},'ignoreRoute':function(_0x3c7eeb){var _0x5f01a2=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x5f01a2[_0x4b65('0x2c')](_0x3c7eeb[_0x4b65('0x28')]);}}));return _0x2b598c();});}exports[_0x4b65('0x2d')]=setupLoggers;