Built motion from commit 6f14c8ba.|2.6.29
[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 _0xcfbd=['method','x-forwarded-for','headers','remoteAddress','url','statusCode','responseTime','name','inspect','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','device','agent_id','format','role','other','agent_name','test','setupLoggers','lodash','util','./loggers','fileLogger','./safe-template','safeTemplate','join','/var','log','xcally','client','catch','user','then','no-user','timestamp','error','api','auth','set','client-side-logger','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','\x20body=%s'];(function(_0x12f55d,_0x1022e6){var _0x4eb1c3=function(_0x1deb1a){while(--_0x1deb1a){_0x12f55d['push'](_0x12f55d['shift']());}};_0x4eb1c3(++_0x1022e6);}(_0xcfbd,0xf3));var _0xdcfb=function(_0x92830d,_0x2cfbec){_0x92830d=_0x92830d-0x0;var _0x1846e4=_0xcfbd[_0x92830d];return _0x1846e4;};var fs=require('fs-extra');var _=require(_0xdcfb('0x0'));var ewinston=require('express-winston');var path=require('path');var util=require(_0xdcfb('0x1'));var fileLogger=require(_0xdcfb('0x2'))[_0xdcfb('0x3')];var safeTemplate=require(_0xdcfb('0x4'))[_0xdcfb('0x5')];var maskSensitiveData=require('./mask-sensitive-data')['maskSensitiveData'];function ClientSideLogger(){function _0x5b0284(_0xa51068){var _0x542b05=path[_0xdcfb('0x6')](_0xdcfb('0x7'),_0xdcfb('0x8'),_0xdcfb('0x9'));var _0x39ead2=path['join'](_0xdcfb('0xa'),_0xa51068['role']+'-'+_0xa51068['name']);return fs['ensureDir'](path[_0xdcfb('0x6')](_0x542b05,_0x39ead2))['then'](function(){var _0x3c8416=fileLogger('client',path[_0xdcfb('0x6')](_0x542b05,_0x39ead2));return _0x3c8416;})[_0xdcfb('0xb')](function(_0x5f4eb2){throw _0x5f4eb2;});}this[_0xdcfb('0x8')]=function(_0x43423a,_0x1ce76f,_0x14618a,_0x38c750){return _0x5b0284(_0x43423a[_0xdcfb('0xc')])[_0xdcfb('0xd')](function(_0x5b16d8){var _0x437c75=_0x5b16d8[_0x1ce76f];return _0x437c75;})[_0xdcfb('0xd')](function(_0x5a757f){var _0x4b6d82=_0x43423a['user']?_0x43423a['user']['id']:_0xdcfb('0xe');var _0x5b34d7=_0x38c750['data'];var _0x46b81f=_0x38c750[_0xdcfb('0xf')];var _0x5e661b=new Date(Number(_0x46b81f));return _0x5a757f(_0x4b6d82,_0x5e661b,_0x14618a,_0x5b34d7);})[_0xdcfb('0xb')](function(_0x1a8b41){fileLogger(_0xdcfb('0xa'))[_0xdcfb('0x10')](_0x1a8b41);});};}function setupLoggers(_0x48c7a3){return new Promise(function(_0x6a79af){var _0x575d30=new ClientSideLogger();var _0x5b3976=fileLogger(_0xdcfb('0x11'));var _0x3a4bbd=fileLogger(_0xdcfb('0x12'));_0x48c7a3[_0xdcfb('0x13')](_0xdcfb('0x14'),_0x575d30);_0x48c7a3[_0xdcfb('0x15')](ewinston[_0xdcfb('0x16')]({'winstonInstance':_0x5b3976,'meta':![],'statusLevels':!![],'msg':function(_0x28f744,_0x4d1329){var _0x658c85=_0xdcfb('0x17');if(!_[_0xdcfb('0x18')](_0x28f744[_0xdcfb('0x19')])){_0x658c85+=_0xdcfb('0x1a');var _0x569afc=_0x28f744[_0xdcfb('0x19')];maskSensitiveData(_0x569afc);}return safeTemplate(util['format'](_0x658c85,_0x28f744[_0xdcfb('0x1b')],_0x28f744['headers'][_0xdcfb('0x1c')]?_0x28f744[_0xdcfb('0x1d')]['x-forwarded-for']:_0x28f744['connection'][_0xdcfb('0x1e')]||_0x28f744['ip'],_0x28f744[_0xdcfb('0x1f')],_0x4d1329[_0xdcfb('0x20')],_0x4d1329[_0xdcfb('0x21')],_0x28f744[_0xdcfb('0xc')]?_0x28f744[_0xdcfb('0xc')]['id']:null,_0x28f744[_0xdcfb('0xc')]?_0x28f744[_0xdcfb('0xc')][_0xdcfb('0x22')]:null,_0x28f744[_0xdcfb('0xc')]?_0x28f744[_0xdcfb('0xc')]['role']:null,_0x569afc?util[_0xdcfb('0x23')](_0x569afc,![],null):''));}}));_0x48c7a3[_0xdcfb('0x15')](ewinston[_0xdcfb('0x16')]({'winstonInstance':_0x3a4bbd,'meta':![],'statusLevels':!![],'msg':function(_0x2b60da,_0x5341dc){var _0x45bca8=_0xdcfb('0x24');if(_0x2b60da[_0xdcfb('0x19')]&&_0x2b60da[_0xdcfb('0x19')][_0xdcfb('0x25')]&&_0x2b60da[_0xdcfb('0x19')][_0xdcfb('0x26')]){_0x45bca8='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util[_0xdcfb('0x27')](_0x45bca8,_0x2b60da[_0xdcfb('0x1b')],_0x2b60da[_0xdcfb('0x1d')][_0xdcfb('0x1c')]?_0x2b60da[_0xdcfb('0x1d')][_0xdcfb('0x1c')]:_0x2b60da['connection']['remoteAddress']||_0x2b60da['ip'],_0x2b60da[_0xdcfb('0x1f')],_0x5341dc['statusCode'],_0x5341dc[_0xdcfb('0x21')],_0x2b60da[_0xdcfb('0xc')]?_0x2b60da[_0xdcfb('0xc')]['id']:null,_0x2b60da[_0xdcfb('0xc')]?_0x2b60da[_0xdcfb('0xc')]['name']:null,_0x2b60da[_0xdcfb('0xc')]?_0x2b60da[_0xdcfb('0xc')][_0xdcfb('0x28')]:null,_0x2b60da['body']&&_0x2b60da[_0xdcfb('0x19')][_0xdcfb('0x25')]?_0x2b60da[_0xdcfb('0x19')][_0xdcfb('0x25')]:_0xdcfb('0x29'),_0x2b60da[_0xdcfb('0x19')]&&_0x2b60da[_0xdcfb('0x19')][_0xdcfb('0x26')]?_0x2b60da['body'][_0xdcfb('0x26')]:'',_0x2b60da[_0xdcfb('0x19')]&&_0x2b60da[_0xdcfb('0x19')][_0xdcfb('0x2a')]?_0x2b60da['body'][_0xdcfb('0x2a')]:'');},'ignoreRoute':function(_0x1a1def){var _0x3d8394=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x3d8394[_0xdcfb('0x2b')](_0x1a1def['url']);}}));return _0x6a79af();});}exports[_0xdcfb('0x2c')]=setupLoggers;