Built motion from commit 00bf23f6.|2.6.16
[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 _0x78e6=['client','user','no-user','data','timestamp','catch','error','auth','set','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','\x20body=%s','format','method','headers','x-forwarded-for','connection','remoteAddress','url','statusCode','responseTime','role','%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)','device','other','agent_name','setupLoggers','fs-extra','lodash','express-winston','path','util','./loggers','./safe-template','./mask-sensitive-data','join','/var','log','xcally','name','ensureDir','then'];(function(_0x1cfc6c,_0x48a10d){var _0x4eaa85=function(_0x5253ba){while(--_0x5253ba){_0x1cfc6c['push'](_0x1cfc6c['shift']());}};_0x4eaa85(++_0x48a10d);}(_0x78e6,0x7e));var _0x678e=function(_0xfa634c,_0x414e0e){_0xfa634c=_0xfa634c-0x0;var _0x73e478=_0x78e6[_0xfa634c];return _0x73e478;};var fs=require(_0x678e('0x0'));var _=require(_0x678e('0x1'));var ewinston=require(_0x678e('0x2'));var path=require(_0x678e('0x3'));var util=require(_0x678e('0x4'));var fileLogger=require(_0x678e('0x5'))['fileLogger'];var safeTemplate=require(_0x678e('0x6'))['safeTemplate'];var maskSensitiveData=require(_0x678e('0x7'))['maskSensitiveData'];function ClientSideLogger(){function _0x4ecab4(_0x2f36de){var _0x4a7ae2=path[_0x678e('0x8')](_0x678e('0x9'),_0x678e('0xa'),_0x678e('0xb'));var _0x4ce6c0=path[_0x678e('0x8')]('client',_0x2f36de['role']+'-'+_0x2f36de[_0x678e('0xc')]);return fs[_0x678e('0xd')](path['join'](_0x4a7ae2,_0x4ce6c0))[_0x678e('0xe')](function(){var _0x3b2c3c=fileLogger(_0x678e('0xf'),path[_0x678e('0x8')](_0x4a7ae2,_0x4ce6c0));return _0x3b2c3c;})['catch'](function(_0x57c49f){throw _0x57c49f;});}this[_0x678e('0xa')]=function(_0xe03ec7,_0x2aa840,_0x5d8b5a,_0x18b661){return _0x4ecab4(_0xe03ec7[_0x678e('0x10')])[_0x678e('0xe')](function(_0x52d795){var _0x1ab854=_0x52d795[_0x2aa840];return _0x1ab854;})[_0x678e('0xe')](function(_0x4ae335){var _0x512d85=_0xe03ec7['user']?_0xe03ec7[_0x678e('0x10')]['id']:_0x678e('0x11');var _0x415f8f=_0x18b661[_0x678e('0x12')];var _0x1156b9=_0x18b661[_0x678e('0x13')];var _0x5713da=new Date(Number(_0x1156b9));return _0x4ae335(_0x512d85,_0x5713da,_0x5d8b5a,_0x415f8f);})[_0x678e('0x14')](function(_0x1f8157){fileLogger(_0x678e('0xf'))[_0x678e('0x15')](_0x1f8157);});};}function setupLoggers(_0x3d18ae){return new Promise(function(_0x35e430){var _0x38716b=new ClientSideLogger();var _0x36df57=fileLogger('api');var _0x16a041=fileLogger(_0x678e('0x16'));_0x3d18ae[_0x678e('0x17')]('client-side-logger',_0x38716b);_0x3d18ae[_0x678e('0x18')](ewinston[_0x678e('0x19')]({'winstonInstance':_0x36df57,'meta':![],'statusLevels':!![],'msg':function(_0x445220,_0x3d1424){var _0x42b432=_0x678e('0x1a');if(!_[_0x678e('0x1b')](_0x445220[_0x678e('0x1c')])){_0x42b432+=_0x678e('0x1d');var _0x27d1ed=_0x445220[_0x678e('0x1c')];maskSensitiveData(_0x27d1ed);}return safeTemplate(util[_0x678e('0x1e')](_0x42b432,_0x445220[_0x678e('0x1f')],_0x445220[_0x678e('0x20')]['x-forwarded-for']?_0x445220['headers'][_0x678e('0x21')]:_0x445220[_0x678e('0x22')][_0x678e('0x23')]||_0x445220['ip'],_0x445220[_0x678e('0x24')],_0x3d1424[_0x678e('0x25')],_0x3d1424[_0x678e('0x26')],_0x445220[_0x678e('0x10')]?_0x445220[_0x678e('0x10')]['id']:null,_0x445220['user']?_0x445220[_0x678e('0x10')][_0x678e('0xc')]:null,_0x445220['user']?_0x445220['user'][_0x678e('0x27')]:null,_0x27d1ed?util['inspect'](_0x27d1ed,![],null):''));}}));_0x3d18ae[_0x678e('0x18')](ewinston[_0x678e('0x19')]({'winstonInstance':_0x16a041,'meta':![],'statusLevels':!![],'msg':function(_0x3c825a,_0x13081f){var _0x2174c7=_0x678e('0x28');if(_0x3c825a[_0x678e('0x1c')]&&_0x3c825a[_0x678e('0x1c')]['device']&&_0x3c825a['body'][_0x678e('0x29')]){_0x2174c7=_0x678e('0x2a');}return util[_0x678e('0x1e')](_0x2174c7,_0x3c825a['method'],_0x3c825a[_0x678e('0x20')][_0x678e('0x21')]?_0x3c825a[_0x678e('0x20')][_0x678e('0x21')]:_0x3c825a[_0x678e('0x22')][_0x678e('0x23')]||_0x3c825a['ip'],_0x3c825a[_0x678e('0x24')],_0x13081f[_0x678e('0x25')],_0x13081f[_0x678e('0x26')],_0x3c825a[_0x678e('0x10')]?_0x3c825a[_0x678e('0x10')]['id']:null,_0x3c825a['user']?_0x3c825a[_0x678e('0x10')][_0x678e('0xc')]:null,_0x3c825a[_0x678e('0x10')]?_0x3c825a[_0x678e('0x10')]['role']:null,_0x3c825a[_0x678e('0x1c')]&&_0x3c825a[_0x678e('0x1c')][_0x678e('0x2b')]?_0x3c825a[_0x678e('0x1c')]['device']:_0x678e('0x2c'),_0x3c825a[_0x678e('0x1c')]&&_0x3c825a[_0x678e('0x1c')][_0x678e('0x29')]?_0x3c825a[_0x678e('0x1c')]['agent_id']:'',_0x3c825a['body']&&_0x3c825a[_0x678e('0x1c')][_0x678e('0x2d')]?_0x3c825a[_0x678e('0x1c')][_0x678e('0x2d')]:'');},'ignoreRoute':function(_0x36f62c){var _0x57135a=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x57135a['test'](_0x36f62c['url']);}}));return _0x35e430();});}exports[_0x678e('0x2e')]=setupLoggers;