b1619b10cfaad6480b4d7eef3a9b03efd40629bd
[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 _0xf8a2=['logger','agent_id','url','other','agent_name','test','setupLoggers','fs-extra','lodash','express-winston','util','./loggers','./safe-template','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','xcally','role','ensureDir','then','client','catch','user','no-user','data','timestamp','error','api','auth','client-side-logger','use','%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','statusCode','responseTime','name','inspect'];(function(_0xbf2e72,_0x14acfd){var _0x8ffcdb=function(_0x1f16b9){while(--_0x1f16b9){_0xbf2e72['push'](_0xbf2e72['shift']());}};_0x8ffcdb(++_0x14acfd);}(_0xf8a2,0xc3));var _0x2f8a=function(_0x45fc6a,_0x166adb){_0x45fc6a=_0x45fc6a-0x0;var _0x14bcfd=_0xf8a2[_0x45fc6a];return _0x14bcfd;};var fs=require(_0x2f8a('0x0'));var _=require(_0x2f8a('0x1'));var ewinston=require(_0x2f8a('0x2'));var path=require('path');var util=require(_0x2f8a('0x3'));var fileLogger=require(_0x2f8a('0x4'))['fileLogger'];var safeTemplate=require(_0x2f8a('0x5'))[_0x2f8a('0x6')];var maskSensitiveData=require(_0x2f8a('0x7'))[_0x2f8a('0x8')];function ClientSideLogger(){function _0x5e3d6b(_0x4239d3){var _0x4f9546=path[_0x2f8a('0x9')](_0x2f8a('0xa'),'log',_0x2f8a('0xb'));var _0x38f114=path['join']('client',_0x4239d3[_0x2f8a('0xc')]+'-'+_0x4239d3['name']);return fs[_0x2f8a('0xd')](path[_0x2f8a('0x9')](_0x4f9546,_0x38f114))[_0x2f8a('0xe')](function(){var _0x996c09=fileLogger(_0x2f8a('0xf'),path[_0x2f8a('0x9')](_0x4f9546,_0x38f114));return _0x996c09;})[_0x2f8a('0x10')](function(_0x3eb8f5){throw _0x3eb8f5;});}this['log']=function(_0x4eaa6a,_0x10f5b0,_0x186908,_0x484a44){return _0x5e3d6b(_0x4eaa6a[_0x2f8a('0x11')])[_0x2f8a('0xe')](function(_0x5ab46d){var _0x5087eb=_0x5ab46d[_0x10f5b0];return _0x5087eb;})[_0x2f8a('0xe')](function(_0x1ac838){var _0x2f6b5b=_0x4eaa6a['user']?_0x4eaa6a[_0x2f8a('0x11')]['id']:_0x2f8a('0x12');var _0x8db5b7=_0x484a44[_0x2f8a('0x13')];var _0x5a257e=_0x484a44[_0x2f8a('0x14')];var _0x5b8aee=new Date(Number(_0x5a257e));return _0x1ac838(_0x2f6b5b,_0x5b8aee,_0x186908,_0x8db5b7);})['catch'](function(_0xcd569f){fileLogger(_0x2f8a('0xf'))[_0x2f8a('0x15')](_0xcd569f);});};}function setupLoggers(_0x479b95){return new Promise(function(_0x450c1b){var _0x3f1c6a=new ClientSideLogger();var _0x52634e=fileLogger(_0x2f8a('0x16'));var _0x3f5e61=fileLogger(_0x2f8a('0x17'));_0x479b95['set'](_0x2f8a('0x18'),_0x3f1c6a);_0x479b95[_0x2f8a('0x19')](ewinston['logger']({'winstonInstance':_0x52634e,'meta':![],'statusLevels':!![],'msg':function(_0x3baee0,_0x26be27){var _0xeaac60=_0x2f8a('0x1a');if(!_[_0x2f8a('0x1b')](_0x3baee0[_0x2f8a('0x1c')])){_0xeaac60+=_0x2f8a('0x1d');var _0x42047d=_0x3baee0[_0x2f8a('0x1c')];maskSensitiveData(_0x42047d);}return safeTemplate(util[_0x2f8a('0x1e')](_0xeaac60,_0x3baee0[_0x2f8a('0x1f')],_0x3baee0[_0x2f8a('0x20')]['x-forwarded-for']?_0x3baee0[_0x2f8a('0x20')][_0x2f8a('0x21')]:_0x3baee0[_0x2f8a('0x22')][_0x2f8a('0x23')]||_0x3baee0['ip'],_0x3baee0['url'],_0x26be27[_0x2f8a('0x24')],_0x26be27[_0x2f8a('0x25')],_0x3baee0['user']?_0x3baee0[_0x2f8a('0x11')]['id']:null,_0x3baee0['user']?_0x3baee0[_0x2f8a('0x11')][_0x2f8a('0x26')]:null,_0x3baee0['user']?_0x3baee0[_0x2f8a('0x11')][_0x2f8a('0xc')]:null,_0x42047d?util[_0x2f8a('0x27')](_0x42047d,![],null):''));}}));_0x479b95[_0x2f8a('0x19')](ewinston[_0x2f8a('0x28')]({'winstonInstance':_0x3f5e61,'meta':![],'statusLevels':!![],'msg':function(_0x29e4a0,_0x2f4999){var _0x493e47='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s';if(_0x29e4a0['body']&&_0x29e4a0[_0x2f8a('0x1c')]['device']&&_0x29e4a0['body'][_0x2f8a('0x29')]){_0x493e47='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util[_0x2f8a('0x1e')](_0x493e47,_0x29e4a0[_0x2f8a('0x1f')],_0x29e4a0[_0x2f8a('0x20')][_0x2f8a('0x21')]?_0x29e4a0[_0x2f8a('0x20')][_0x2f8a('0x21')]:_0x29e4a0[_0x2f8a('0x22')]['remoteAddress']||_0x29e4a0['ip'],_0x29e4a0[_0x2f8a('0x2a')],_0x2f4999['statusCode'],_0x2f4999[_0x2f8a('0x25')],_0x29e4a0[_0x2f8a('0x11')]?_0x29e4a0[_0x2f8a('0x11')]['id']:null,_0x29e4a0[_0x2f8a('0x11')]?_0x29e4a0[_0x2f8a('0x11')][_0x2f8a('0x26')]:null,_0x29e4a0[_0x2f8a('0x11')]?_0x29e4a0[_0x2f8a('0x11')][_0x2f8a('0xc')]:null,_0x29e4a0[_0x2f8a('0x1c')]&&_0x29e4a0[_0x2f8a('0x1c')]['device']?_0x29e4a0['body']['device']:_0x2f8a('0x2b'),_0x29e4a0['body']&&_0x29e4a0[_0x2f8a('0x1c')][_0x2f8a('0x29')]?_0x29e4a0['body'][_0x2f8a('0x29')]:'',_0x29e4a0[_0x2f8a('0x1c')]&&_0x29e4a0[_0x2f8a('0x1c')]['agent_name']?_0x29e4a0[_0x2f8a('0x1c')][_0x2f8a('0x2c')]:'');},'ignoreRoute':function(_0x10d4d1){var _0x743c80=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x743c80[_0x2f8a('0x2d')](_0x10d4d1[_0x2f8a('0x2a')]);}}));return _0x450c1b();});}exports[_0x2f8a('0x2e')]=setupLoggers;