Built motion from commit 85328c08.|2.5.50
[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 _0x8521=['express-winston','path','./loggers','fileLogger','./safe-template','maskSensitiveData','join','/var','log','client','role','name','ensureDir','then','catch','user','no-user','data','timestamp','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','headers','x-forwarded-for','remoteAddress','url','statusCode','responseTime','%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)','format','method','connection','device','agent_name','test','setupLoggers','fs-extra','lodash'];(function(_0x2f54ed,_0x372e19){var _0x1daa43=function(_0x37fa26){while(--_0x37fa26){_0x2f54ed['push'](_0x2f54ed['shift']());}};_0x1daa43(++_0x372e19);}(_0x8521,0x19c));var _0x1852=function(_0x15a40b,_0x491b44){_0x15a40b=_0x15a40b-0x0;var _0x238ff3=_0x8521[_0x15a40b];return _0x238ff3;};var fs=require(_0x1852('0x0'));var _=require(_0x1852('0x1'));var ewinston=require(_0x1852('0x2'));var path=require(_0x1852('0x3'));var util=require('util');var fileLogger=require(_0x1852('0x4'))[_0x1852('0x5')];var safeTemplate=require(_0x1852('0x6'))['safeTemplate'];var maskSensitiveData=require('./mask-sensitive-data')[_0x1852('0x7')];function ClientSideLogger(){function _0x5f4a9e(_0x4d535b){var _0x34ffa7=path[_0x1852('0x8')](_0x1852('0x9'),_0x1852('0xa'),'xcally');var _0x37cd59=path[_0x1852('0x8')](_0x1852('0xb'),_0x4d535b[_0x1852('0xc')]+'-'+_0x4d535b[_0x1852('0xd')]);return fs[_0x1852('0xe')](path[_0x1852('0x8')](_0x34ffa7,_0x37cd59))[_0x1852('0xf')](function(){var _0x133ffe=fileLogger(_0x1852('0xb'),path['join'](_0x34ffa7,_0x37cd59));return _0x133ffe;})[_0x1852('0x10')](function(_0x404653){throw _0x404653;});}this[_0x1852('0xa')]=function(_0x2dadb0,_0x4a8ce4,_0x28d1cf,_0x58b55f){return _0x5f4a9e(_0x2dadb0['user'])[_0x1852('0xf')](function(_0xa9b016){var _0x2c9617=_0xa9b016[_0x4a8ce4];return _0x2c9617;})[_0x1852('0xf')](function(_0x1c559f){var _0x389a1d=_0x2dadb0[_0x1852('0x11')]?_0x2dadb0[_0x1852('0x11')]['id']:_0x1852('0x12');var _0x5e9524=_0x58b55f[_0x1852('0x13')];var _0x53788b=_0x58b55f[_0x1852('0x14')];var _0x56fc53=new Date(Number(_0x53788b));return _0x1c559f(_0x389a1d,_0x56fc53,_0x28d1cf,_0x5e9524);})['catch'](function(_0x4deb11){fileLogger(_0x1852('0xb'))['error'](_0x4deb11);});};}function setupLoggers(_0x26e56b){return new Promise(function(_0x1e63d3){var _0x5cad53=new ClientSideLogger();var _0x3f25fa=fileLogger('api');var _0x3b7b6e=fileLogger(_0x1852('0x15'));_0x26e56b[_0x1852('0x16')](_0x1852('0x17'),_0x5cad53);_0x26e56b[_0x1852('0x18')](ewinston[_0x1852('0x19')]({'winstonInstance':_0x3f25fa,'meta':![],'statusLevels':!![],'msg':function(_0xc59433,_0x1e7a30){var _0x5e3f8a=_0x1852('0x1a');if(!_[_0x1852('0x1b')](_0xc59433[_0x1852('0x1c')])){_0x5e3f8a+=_0x1852('0x1d');var _0x42bd60=_0xc59433[_0x1852('0x1c')];maskSensitiveData(_0x42bd60);}return safeTemplate(util['format'](_0x5e3f8a,_0xc59433['method'],_0xc59433[_0x1852('0x1e')]['x-forwarded-for']?_0xc59433['headers'][_0x1852('0x1f')]:_0xc59433['connection'][_0x1852('0x20')]||_0xc59433['ip'],_0xc59433[_0x1852('0x21')],_0x1e7a30[_0x1852('0x22')],_0x1e7a30[_0x1852('0x23')],_0xc59433[_0x1852('0x11')]?_0xc59433['user']['id']:null,_0xc59433[_0x1852('0x11')]?_0xc59433[_0x1852('0x11')][_0x1852('0xd')]:null,_0xc59433[_0x1852('0x11')]?_0xc59433[_0x1852('0x11')][_0x1852('0xc')]:null,_0x42bd60?util['inspect'](_0x42bd60,![],null):''));}}));_0x26e56b[_0x1852('0x18')](ewinston['logger']({'winstonInstance':_0x3b7b6e,'meta':![],'statusLevels':!![],'msg':function(_0x2a4502,_0x4a019a){var _0x3084e9=_0x1852('0x24');if(_0x2a4502[_0x1852('0x1c')]&&_0x2a4502[_0x1852('0x1c')]['device']&&_0x2a4502[_0x1852('0x1c')][_0x1852('0x25')]){_0x3084e9=_0x1852('0x26');}return util[_0x1852('0x27')](_0x3084e9,_0x2a4502[_0x1852('0x28')],_0x2a4502['headers'][_0x1852('0x1f')]?_0x2a4502[_0x1852('0x1e')]['x-forwarded-for']:_0x2a4502[_0x1852('0x29')][_0x1852('0x20')]||_0x2a4502['ip'],_0x2a4502[_0x1852('0x21')],_0x4a019a[_0x1852('0x22')],_0x4a019a[_0x1852('0x23')],_0x2a4502[_0x1852('0x11')]?_0x2a4502['user']['id']:null,_0x2a4502[_0x1852('0x11')]?_0x2a4502['user'][_0x1852('0xd')]:null,_0x2a4502['user']?_0x2a4502[_0x1852('0x11')][_0x1852('0xc')]:null,_0x2a4502['body']&&_0x2a4502[_0x1852('0x1c')]['device']?_0x2a4502[_0x1852('0x1c')][_0x1852('0x2a')]:'other',_0x2a4502['body']&&_0x2a4502['body'][_0x1852('0x25')]?_0x2a4502[_0x1852('0x1c')][_0x1852('0x25')]:'',_0x2a4502[_0x1852('0x1c')]&&_0x2a4502[_0x1852('0x1c')][_0x1852('0x2b')]?_0x2a4502[_0x1852('0x1c')][_0x1852('0x2b')]:'');},'ignoreRoute':function(_0x23d27f){var _0x152319=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x152319[_0x1852('0x2c')](_0x23d27f[_0x1852('0x21')]);}}));return _0x1e63d3();});}exports[_0x1852('0x2d')]=setupLoggers;