Built motion from commit 953226e6.|2.6.32
[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 _0xe39c=['body','format','method','headers','x-forwarded-for','connection','url','statusCode','responseTime','role','%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)','remoteAddress','other','agent_name','test','setupLoggers','fs-extra','lodash','express-winston','path','util','fileLogger','./safe-template','safeTemplate','./mask-sensitive-data','join','/var','log','xcally','client','name','then','catch','user','no-user','data','api','auth','set','client-side-logger','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty'];(function(_0x2b10c6,_0x185590){var _0x3789d2=function(_0x272987){while(--_0x272987){_0x2b10c6['push'](_0x2b10c6['shift']());}};_0x3789d2(++_0x185590);}(_0xe39c,0x12d));var _0xce39=function(_0x24bf70,_0x3cd6d2){_0x24bf70=_0x24bf70-0x0;var _0xa8c175=_0xe39c[_0x24bf70];return _0xa8c175;};var fs=require(_0xce39('0x0'));var _=require(_0xce39('0x1'));var ewinston=require(_0xce39('0x2'));var path=require(_0xce39('0x3'));var util=require(_0xce39('0x4'));var fileLogger=require('./loggers')[_0xce39('0x5')];var safeTemplate=require(_0xce39('0x6'))[_0xce39('0x7')];var maskSensitiveData=require(_0xce39('0x8'))['maskSensitiveData'];function ClientSideLogger(){function _0x31b4ee(_0x551d33){var _0x5983b7=path[_0xce39('0x9')](_0xce39('0xa'),_0xce39('0xb'),_0xce39('0xc'));var _0x1f173c=path['join'](_0xce39('0xd'),_0x551d33['role']+'-'+_0x551d33[_0xce39('0xe')]);return fs['ensureDir'](path[_0xce39('0x9')](_0x5983b7,_0x1f173c))[_0xce39('0xf')](function(){var _0x5257e9=fileLogger(_0xce39('0xd'),path[_0xce39('0x9')](_0x5983b7,_0x1f173c));return _0x5257e9;})[_0xce39('0x10')](function(_0x122373){throw _0x122373;});}this[_0xce39('0xb')]=function(_0x11e209,_0x4d746,_0x7f820b,_0x50d614){return _0x31b4ee(_0x11e209[_0xce39('0x11')])[_0xce39('0xf')](function(_0x237d1c){var _0x4c01fb=_0x237d1c[_0x4d746];return _0x4c01fb;})[_0xce39('0xf')](function(_0x21b9de){var _0x17a7dc=_0x11e209[_0xce39('0x11')]?_0x11e209['user']['id']:_0xce39('0x12');var _0x2e3895=_0x50d614[_0xce39('0x13')];var _0x5b8857=_0x50d614['timestamp'];var _0x394677=new Date(Number(_0x5b8857));return _0x21b9de(_0x17a7dc,_0x394677,_0x7f820b,_0x2e3895);})[_0xce39('0x10')](function(_0xe7645a){fileLogger('client')['error'](_0xe7645a);});};}function setupLoggers(_0x354735){return new Promise(function(_0x570c59){var _0x3e7aba=new ClientSideLogger();var _0x4a0ac1=fileLogger(_0xce39('0x14'));var _0x2d35db=fileLogger(_0xce39('0x15'));_0x354735[_0xce39('0x16')](_0xce39('0x17'),_0x3e7aba);_0x354735[_0xce39('0x18')](ewinston[_0xce39('0x19')]({'winstonInstance':_0x4a0ac1,'meta':![],'statusLevels':!![],'msg':function(_0x110ad1,_0x5143ca){var _0x2c2cfc=_0xce39('0x1a');if(!_[_0xce39('0x1b')](_0x110ad1['body'])){_0x2c2cfc+='\x20body=%s';var _0x34c650=_0x110ad1[_0xce39('0x1c')];maskSensitiveData(_0x34c650);}return safeTemplate(util[_0xce39('0x1d')](_0x2c2cfc,_0x110ad1[_0xce39('0x1e')],_0x110ad1[_0xce39('0x1f')][_0xce39('0x20')]?_0x110ad1[_0xce39('0x1f')][_0xce39('0x20')]:_0x110ad1[_0xce39('0x21')]['remoteAddress']||_0x110ad1['ip'],_0x110ad1[_0xce39('0x22')],_0x5143ca[_0xce39('0x23')],_0x5143ca[_0xce39('0x24')],_0x110ad1[_0xce39('0x11')]?_0x110ad1[_0xce39('0x11')]['id']:null,_0x110ad1['user']?_0x110ad1[_0xce39('0x11')][_0xce39('0xe')]:null,_0x110ad1['user']?_0x110ad1[_0xce39('0x11')][_0xce39('0x25')]:null,_0x34c650?util['inspect'](_0x34c650,![],null):''));}}));_0x354735[_0xce39('0x18')](ewinston[_0xce39('0x19')]({'winstonInstance':_0x2d35db,'meta':![],'statusLevels':!![],'msg':function(_0x48697a,_0x5353be){var _0x526eac=_0xce39('0x26');if(_0x48697a[_0xce39('0x1c')]&&_0x48697a[_0xce39('0x1c')][_0xce39('0x27')]&&_0x48697a['body'][_0xce39('0x28')]){_0x526eac=_0xce39('0x29');}return util[_0xce39('0x1d')](_0x526eac,_0x48697a[_0xce39('0x1e')],_0x48697a['headers'][_0xce39('0x20')]?_0x48697a[_0xce39('0x1f')][_0xce39('0x20')]:_0x48697a['connection'][_0xce39('0x2a')]||_0x48697a['ip'],_0x48697a[_0xce39('0x22')],_0x5353be['statusCode'],_0x5353be[_0xce39('0x24')],_0x48697a[_0xce39('0x11')]?_0x48697a['user']['id']:null,_0x48697a[_0xce39('0x11')]?_0x48697a['user'][_0xce39('0xe')]:null,_0x48697a[_0xce39('0x11')]?_0x48697a[_0xce39('0x11')][_0xce39('0x25')]:null,_0x48697a[_0xce39('0x1c')]&&_0x48697a[_0xce39('0x1c')]['device']?_0x48697a[_0xce39('0x1c')][_0xce39('0x27')]:_0xce39('0x2b'),_0x48697a['body']&&_0x48697a[_0xce39('0x1c')]['agent_id']?_0x48697a[_0xce39('0x1c')][_0xce39('0x28')]:'',_0x48697a[_0xce39('0x1c')]&&_0x48697a[_0xce39('0x1c')][_0xce39('0x2c')]?_0x48697a['body'][_0xce39('0x2c')]:'');},'ignoreRoute':function(_0x56dbc5){var _0x120a4c=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x120a4c[_0xce39('0x2d')](_0x56dbc5['url']);}}));return _0x570c59();});}exports[_0xce39('0x2e')]=setupLoggers;