Built motion from commit da24aabd.|2.6.20
[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 _0xf124=['join','/var','log','xcally','client','role','name','ensureDir','then','catch','user','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','body','\x20body=%s','format','method','headers','x-forwarded-for','connection','remoteAddress','statusCode','responseTime','inspect','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','device','agent_id','url','other','agent_name','test','setupLoggers','fs-extra','lodash','express-winston','path','util','fileLogger','./safe-template','safeTemplate','./mask-sensitive-data','maskSensitiveData'];(function(_0x12ad92,_0x45ed40){var _0x5dd3e0=function(_0x17f1c7){while(--_0x17f1c7){_0x12ad92['push'](_0x12ad92['shift']());}};_0x5dd3e0(++_0x45ed40);}(_0xf124,0xf0));var _0x4f12=function(_0xbfc560,_0x311fba){_0xbfc560=_0xbfc560-0x0;var _0x47b022=_0xf124[_0xbfc560];return _0x47b022;};var fs=require(_0x4f12('0x0'));var _=require(_0x4f12('0x1'));var ewinston=require(_0x4f12('0x2'));var path=require(_0x4f12('0x3'));var util=require(_0x4f12('0x4'));var fileLogger=require('./loggers')[_0x4f12('0x5')];var safeTemplate=require(_0x4f12('0x6'))[_0x4f12('0x7')];var maskSensitiveData=require(_0x4f12('0x8'))[_0x4f12('0x9')];function ClientSideLogger(){function _0x1b4c0b(_0x2aa376){var _0x15bbbb=path[_0x4f12('0xa')](_0x4f12('0xb'),_0x4f12('0xc'),_0x4f12('0xd'));var _0x540e34=path['join'](_0x4f12('0xe'),_0x2aa376[_0x4f12('0xf')]+'-'+_0x2aa376[_0x4f12('0x10')]);return fs[_0x4f12('0x11')](path[_0x4f12('0xa')](_0x15bbbb,_0x540e34))[_0x4f12('0x12')](function(){var _0xcc0135=fileLogger(_0x4f12('0xe'),path[_0x4f12('0xa')](_0x15bbbb,_0x540e34));return _0xcc0135;})[_0x4f12('0x13')](function(_0x4624f4){throw _0x4624f4;});}this[_0x4f12('0xc')]=function(_0x5ce8e4,_0x463a27,_0x232dd2,_0x1425da){return _0x1b4c0b(_0x5ce8e4[_0x4f12('0x14')])['then'](function(_0x49c5f7){var _0x43e4ab=_0x49c5f7[_0x463a27];return _0x43e4ab;})[_0x4f12('0x12')](function(_0x4d1e2e){var _0x4cee12=_0x5ce8e4[_0x4f12('0x14')]?_0x5ce8e4[_0x4f12('0x14')]['id']:_0x4f12('0x15');var _0x37bc6b=_0x1425da['data'];var _0x40fd24=_0x1425da[_0x4f12('0x16')];var _0x45b529=new Date(Number(_0x40fd24));return _0x4d1e2e(_0x4cee12,_0x45b529,_0x232dd2,_0x37bc6b);})[_0x4f12('0x13')](function(_0x2545ce){fileLogger('client')[_0x4f12('0x17')](_0x2545ce);});};}function setupLoggers(_0x495be3){return new Promise(function(_0x1b7dc9){var _0x2187f4=new ClientSideLogger();var _0x93d617=fileLogger(_0x4f12('0x18'));var _0x11c9e9=fileLogger(_0x4f12('0x19'));_0x495be3[_0x4f12('0x1a')](_0x4f12('0x1b'),_0x2187f4);_0x495be3[_0x4f12('0x1c')](ewinston[_0x4f12('0x1d')]({'winstonInstance':_0x93d617,'meta':![],'statusLevels':!![],'msg':function(_0x1dabb6,_0x1d0ac3){var _0x3d991e=_0x4f12('0x1e');if(!_['isEmpty'](_0x1dabb6[_0x4f12('0x1f')])){_0x3d991e+=_0x4f12('0x20');var _0x1633cb=_0x1dabb6[_0x4f12('0x1f')];maskSensitiveData(_0x1633cb);}return safeTemplate(util[_0x4f12('0x21')](_0x3d991e,_0x1dabb6[_0x4f12('0x22')],_0x1dabb6[_0x4f12('0x23')]['x-forwarded-for']?_0x1dabb6[_0x4f12('0x23')][_0x4f12('0x24')]:_0x1dabb6[_0x4f12('0x25')][_0x4f12('0x26')]||_0x1dabb6['ip'],_0x1dabb6['url'],_0x1d0ac3[_0x4f12('0x27')],_0x1d0ac3[_0x4f12('0x28')],_0x1dabb6[_0x4f12('0x14')]?_0x1dabb6[_0x4f12('0x14')]['id']:null,_0x1dabb6[_0x4f12('0x14')]?_0x1dabb6['user']['name']:null,_0x1dabb6['user']?_0x1dabb6[_0x4f12('0x14')][_0x4f12('0xf')]:null,_0x1633cb?util[_0x4f12('0x29')](_0x1633cb,![],null):''));}}));_0x495be3['use'](ewinston[_0x4f12('0x1d')]({'winstonInstance':_0x11c9e9,'meta':![],'statusLevels':!![],'msg':function(_0x4ffd5e,_0x2df810){var _0x5772d2=_0x4f12('0x2a');if(_0x4ffd5e['body']&&_0x4ffd5e[_0x4f12('0x1f')][_0x4f12('0x2b')]&&_0x4ffd5e[_0x4f12('0x1f')][_0x4f12('0x2c')]){_0x5772d2='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util[_0x4f12('0x21')](_0x5772d2,_0x4ffd5e[_0x4f12('0x22')],_0x4ffd5e[_0x4f12('0x23')][_0x4f12('0x24')]?_0x4ffd5e[_0x4f12('0x23')]['x-forwarded-for']:_0x4ffd5e[_0x4f12('0x25')]['remoteAddress']||_0x4ffd5e['ip'],_0x4ffd5e[_0x4f12('0x2d')],_0x2df810['statusCode'],_0x2df810[_0x4f12('0x28')],_0x4ffd5e[_0x4f12('0x14')]?_0x4ffd5e[_0x4f12('0x14')]['id']:null,_0x4ffd5e[_0x4f12('0x14')]?_0x4ffd5e[_0x4f12('0x14')][_0x4f12('0x10')]:null,_0x4ffd5e[_0x4f12('0x14')]?_0x4ffd5e[_0x4f12('0x14')]['role']:null,_0x4ffd5e[_0x4f12('0x1f')]&&_0x4ffd5e[_0x4f12('0x1f')][_0x4f12('0x2b')]?_0x4ffd5e[_0x4f12('0x1f')][_0x4f12('0x2b')]:_0x4f12('0x2e'),_0x4ffd5e[_0x4f12('0x1f')]&&_0x4ffd5e[_0x4f12('0x1f')][_0x4f12('0x2c')]?_0x4ffd5e[_0x4f12('0x1f')][_0x4f12('0x2c')]:'',_0x4ffd5e[_0x4f12('0x1f')]&&_0x4ffd5e['body']['agent_name']?_0x4ffd5e[_0x4f12('0x1f')][_0x4f12('0x2f')]:'');},'ignoreRoute':function(_0x1a107e){var _0x362f74=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x362f74[_0x4f12('0x30')](_0x1a107e[_0x4f12('0x2d')]);}}));return _0x1b7dc9();});}exports[_0x4f12('0x31')]=setupLoggers;