Built motion from commit 449495f6.|2.6.27
[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 _0x1fbc=['%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','device','agent_id','headers','other','agent_name','test','fs-extra','express-winston','path','util','fileLogger','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','log','xcally','client','name','ensureDir','then','catch','user','no-user','data','timestamp','error','api','auth','set','client-side-logger','use','logger','isEmpty','body','\x20body=%s','format','method','x-forwarded-for','connection','remoteAddress','url','statusCode','responseTime'];(function(_0x73ba5,_0x2c2ae7){var _0x5ab252=function(_0x48d75f){while(--_0x48d75f){_0x73ba5['push'](_0x73ba5['shift']());}};_0x5ab252(++_0x2c2ae7);}(_0x1fbc,0x11b));var _0xc1fb=function(_0x5ecc12,_0x586122){_0x5ecc12=_0x5ecc12-0x0;var _0x45f35a=_0x1fbc[_0x5ecc12];return _0x45f35a;};var fs=require(_0xc1fb('0x0'));var _=require('lodash');var ewinston=require(_0xc1fb('0x1'));var path=require(_0xc1fb('0x2'));var util=require(_0xc1fb('0x3'));var fileLogger=require('./loggers')[_0xc1fb('0x4')];var safeTemplate=require('./safe-template')[_0xc1fb('0x5')];var maskSensitiveData=require(_0xc1fb('0x6'))[_0xc1fb('0x7')];function ClientSideLogger(){function _0x463c95(_0x4e3d82){var _0x42fbc7=path[_0xc1fb('0x8')](_0xc1fb('0x9'),_0xc1fb('0xa'),_0xc1fb('0xb'));var _0x8b1bab=path['join'](_0xc1fb('0xc'),_0x4e3d82['role']+'-'+_0x4e3d82[_0xc1fb('0xd')]);return fs[_0xc1fb('0xe')](path['join'](_0x42fbc7,_0x8b1bab))[_0xc1fb('0xf')](function(){var _0x566d16=fileLogger(_0xc1fb('0xc'),path[_0xc1fb('0x8')](_0x42fbc7,_0x8b1bab));return _0x566d16;})[_0xc1fb('0x10')](function(_0x29bef7){throw _0x29bef7;});}this['log']=function(_0x475abc,_0x1cf7ef,_0x4f1de5,_0x523aff){return _0x463c95(_0x475abc[_0xc1fb('0x11')])[_0xc1fb('0xf')](function(_0x539ed5){var _0x194b8a=_0x539ed5[_0x1cf7ef];return _0x194b8a;})[_0xc1fb('0xf')](function(_0x16b4bb){var _0x15e9c0=_0x475abc[_0xc1fb('0x11')]?_0x475abc[_0xc1fb('0x11')]['id']:_0xc1fb('0x12');var _0xd07036=_0x523aff[_0xc1fb('0x13')];var _0x1437a7=_0x523aff[_0xc1fb('0x14')];var _0x169ccf=new Date(Number(_0x1437a7));return _0x16b4bb(_0x15e9c0,_0x169ccf,_0x4f1de5,_0xd07036);})[_0xc1fb('0x10')](function(_0x2f1139){fileLogger(_0xc1fb('0xc'))[_0xc1fb('0x15')](_0x2f1139);});};}function setupLoggers(_0x344865){return new Promise(function(_0x49d199){var _0xd36626=new ClientSideLogger();var _0xd688af=fileLogger(_0xc1fb('0x16'));var _0x38beeb=fileLogger(_0xc1fb('0x17'));_0x344865[_0xc1fb('0x18')](_0xc1fb('0x19'),_0xd36626);_0x344865[_0xc1fb('0x1a')](ewinston[_0xc1fb('0x1b')]({'winstonInstance':_0xd688af,'meta':![],'statusLevels':!![],'msg':function(_0x239865,_0x1d9586){var _0x1f351e='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_[_0xc1fb('0x1c')](_0x239865[_0xc1fb('0x1d')])){_0x1f351e+=_0xc1fb('0x1e');var _0x4788c4=_0x239865[_0xc1fb('0x1d')];maskSensitiveData(_0x4788c4);}return safeTemplate(util[_0xc1fb('0x1f')](_0x1f351e,_0x239865[_0xc1fb('0x20')],_0x239865['headers'][_0xc1fb('0x21')]?_0x239865['headers']['x-forwarded-for']:_0x239865[_0xc1fb('0x22')][_0xc1fb('0x23')]||_0x239865['ip'],_0x239865[_0xc1fb('0x24')],_0x1d9586[_0xc1fb('0x25')],_0x1d9586[_0xc1fb('0x26')],_0x239865[_0xc1fb('0x11')]?_0x239865[_0xc1fb('0x11')]['id']:null,_0x239865[_0xc1fb('0x11')]?_0x239865[_0xc1fb('0x11')][_0xc1fb('0xd')]:null,_0x239865[_0xc1fb('0x11')]?_0x239865[_0xc1fb('0x11')]['role']:null,_0x4788c4?util['inspect'](_0x4788c4,![],null):''));}}));_0x344865[_0xc1fb('0x1a')](ewinston[_0xc1fb('0x1b')]({'winstonInstance':_0x38beeb,'meta':![],'statusLevels':!![],'msg':function(_0x2ba7cc,_0x8fb284){var _0x10a898=_0xc1fb('0x27');if(_0x2ba7cc[_0xc1fb('0x1d')]&&_0x2ba7cc[_0xc1fb('0x1d')][_0xc1fb('0x28')]&&_0x2ba7cc[_0xc1fb('0x1d')][_0xc1fb('0x29')]){_0x10a898='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util['format'](_0x10a898,_0x2ba7cc['method'],_0x2ba7cc[_0xc1fb('0x2a')]['x-forwarded-for']?_0x2ba7cc[_0xc1fb('0x2a')]['x-forwarded-for']:_0x2ba7cc['connection'][_0xc1fb('0x23')]||_0x2ba7cc['ip'],_0x2ba7cc['url'],_0x8fb284[_0xc1fb('0x25')],_0x8fb284[_0xc1fb('0x26')],_0x2ba7cc['user']?_0x2ba7cc[_0xc1fb('0x11')]['id']:null,_0x2ba7cc[_0xc1fb('0x11')]?_0x2ba7cc['user'][_0xc1fb('0xd')]:null,_0x2ba7cc[_0xc1fb('0x11')]?_0x2ba7cc['user']['role']:null,_0x2ba7cc[_0xc1fb('0x1d')]&&_0x2ba7cc[_0xc1fb('0x1d')]['device']?_0x2ba7cc[_0xc1fb('0x1d')]['device']:_0xc1fb('0x2b'),_0x2ba7cc[_0xc1fb('0x1d')]&&_0x2ba7cc[_0xc1fb('0x1d')]['agent_id']?_0x2ba7cc[_0xc1fb('0x1d')]['agent_id']:'',_0x2ba7cc[_0xc1fb('0x1d')]&&_0x2ba7cc[_0xc1fb('0x1d')][_0xc1fb('0x2c')]?_0x2ba7cc[_0xc1fb('0x1d')][_0xc1fb('0x2c')]:'');},'ignoreRoute':function(_0x957c31){var _0x1b8fc0=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x1b8fc0[_0xc1fb('0x2d')](_0x957c31[_0xc1fb('0x24')]);}}));return _0x49d199();});}exports['setupLoggers']=setupLoggers;