Built motion from commit 092f8824.|2.5.49
[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 _0x0478=['log','xcally','client','role','name','ensureDir','user','no-user','data','catch','error','api','auth','set','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','\x20body=%s','format','method','x-forwarded-for','headers','connection','remoteAddress','url','responseTime','inspect','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','body','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)','statusCode','other','agent_name','test','setupLoggers','fs-extra','lodash','util','./loggers','fileLogger','./safe-template','maskSensitiveData','join','/var'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0x0478,0x111));var _0x8047=function(_0x7daada,_0x51672f){_0x7daada=_0x7daada-0x0;var _0xf72520=_0x0478[_0x7daada];return _0xf72520;};var fs=require(_0x8047('0x0'));var _=require(_0x8047('0x1'));var ewinston=require('express-winston');var path=require('path');var util=require(_0x8047('0x2'));var fileLogger=require(_0x8047('0x3'))[_0x8047('0x4')];var safeTemplate=require(_0x8047('0x5'))['safeTemplate'];var maskSensitiveData=require('./mask-sensitive-data')[_0x8047('0x6')];function ClientSideLogger(){function _0x3c86df(_0x101b1a){var _0x2f11f3=path[_0x8047('0x7')](_0x8047('0x8'),_0x8047('0x9'),_0x8047('0xa'));var _0x1542e3=path[_0x8047('0x7')](_0x8047('0xb'),_0x101b1a[_0x8047('0xc')]+'-'+_0x101b1a[_0x8047('0xd')]);return fs[_0x8047('0xe')](path['join'](_0x2f11f3,_0x1542e3))['then'](function(){var _0x4b86c1=fileLogger('client',path[_0x8047('0x7')](_0x2f11f3,_0x1542e3));return _0x4b86c1;})['catch'](function(_0x56a153){throw _0x56a153;});}this[_0x8047('0x9')]=function(_0x4c507e,_0x2d0379,_0x3af586,_0x27d27d){return _0x3c86df(_0x4c507e[_0x8047('0xf')])['then'](function(_0x19e64f){var _0x363203=_0x19e64f[_0x2d0379];return _0x363203;})['then'](function(_0x1d547f){var _0x132b0e=_0x4c507e['user']?_0x4c507e[_0x8047('0xf')]['id']:_0x8047('0x10');var _0x4f17ff=_0x27d27d[_0x8047('0x11')];var _0x59dcd0=_0x27d27d['timestamp'];var _0x4b0511=new Date(Number(_0x59dcd0));return _0x1d547f(_0x132b0e,_0x4b0511,_0x3af586,_0x4f17ff);})[_0x8047('0x12')](function(_0x353c14){fileLogger('client')[_0x8047('0x13')](_0x353c14);});};}function setupLoggers(_0x51e777){return new Promise(function(_0x3b3824){var _0x501419=new ClientSideLogger();var _0x3a2329=fileLogger(_0x8047('0x14'));var _0x36fd08=fileLogger(_0x8047('0x15'));_0x51e777[_0x8047('0x16')]('client-side-logger',_0x501419);_0x51e777['use'](ewinston['logger']({'winstonInstance':_0x3a2329,'meta':![],'statusLevels':!![],'msg':function(_0x266390,_0x1b8741){var _0x186607=_0x8047('0x17');if(!_[_0x8047('0x18')](_0x266390['body'])){_0x186607+=_0x8047('0x19');var _0x144825=_0x266390['body'];maskSensitiveData(_0x144825);}return safeTemplate(util[_0x8047('0x1a')](_0x186607,_0x266390[_0x8047('0x1b')],_0x266390['headers'][_0x8047('0x1c')]?_0x266390[_0x8047('0x1d')][_0x8047('0x1c')]:_0x266390[_0x8047('0x1e')][_0x8047('0x1f')]||_0x266390['ip'],_0x266390[_0x8047('0x20')],_0x1b8741['statusCode'],_0x1b8741[_0x8047('0x21')],_0x266390['user']?_0x266390[_0x8047('0xf')]['id']:null,_0x266390[_0x8047('0xf')]?_0x266390[_0x8047('0xf')]['name']:null,_0x266390[_0x8047('0xf')]?_0x266390[_0x8047('0xf')]['role']:null,_0x144825?util[_0x8047('0x22')](_0x144825,![],null):''));}}));_0x51e777[_0x8047('0x23')](ewinston[_0x8047('0x24')]({'winstonInstance':_0x36fd08,'meta':![],'statusLevels':!![],'msg':function(_0x308683,_0x2f4383){var _0x344861=_0x8047('0x25');if(_0x308683['body']&&_0x308683[_0x8047('0x26')][_0x8047('0x27')]&&_0x308683['body'][_0x8047('0x28')]){_0x344861=_0x8047('0x29');}return util['format'](_0x344861,_0x308683[_0x8047('0x1b')],_0x308683['headers'][_0x8047('0x1c')]?_0x308683[_0x8047('0x1d')][_0x8047('0x1c')]:_0x308683[_0x8047('0x1e')][_0x8047('0x1f')]||_0x308683['ip'],_0x308683[_0x8047('0x20')],_0x2f4383[_0x8047('0x2a')],_0x2f4383[_0x8047('0x21')],_0x308683['user']?_0x308683[_0x8047('0xf')]['id']:null,_0x308683['user']?_0x308683['user'][_0x8047('0xd')]:null,_0x308683[_0x8047('0xf')]?_0x308683[_0x8047('0xf')][_0x8047('0xc')]:null,_0x308683[_0x8047('0x26')]&&_0x308683[_0x8047('0x26')][_0x8047('0x27')]?_0x308683[_0x8047('0x26')][_0x8047('0x27')]:_0x8047('0x2b'),_0x308683['body']&&_0x308683['body']['agent_id']?_0x308683[_0x8047('0x26')][_0x8047('0x28')]:'',_0x308683[_0x8047('0x26')]&&_0x308683[_0x8047('0x26')][_0x8047('0x2c')]?_0x308683['body']['agent_name']:'');},'ignoreRoute':function(_0x1717c7){var _0x51b692=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x51b692[_0x8047('0x2d')](_0x1717c7[_0x8047('0x20')]);}}));return _0x3b3824();});}exports[_0x8047('0x2e')]=setupLoggers;