Built motion from commit da617fac.|2.6.6
[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 _0xdbcf=['agent_name','test','lodash','express-winston','path','util','fileLogger','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','log','xcally','role','name','then','client','catch','user','no-user','timestamp','error','api','auth','set','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','\x20body=%s','body','format','headers','x-forwarded-for','connection','url','statusCode','responseTime','inspect','logger','device','agent_id','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)','remoteAddress','other'];(function(_0x2c13ed,_0xedbb71){var _0x1f433d=function(_0x924421){while(--_0x924421){_0x2c13ed['push'](_0x2c13ed['shift']());}};_0x1f433d(++_0xedbb71);}(_0xdbcf,0x1e6));var _0xfdbc=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xdbcf[_0x3dd15e];return _0x231fd0;};var fs=require('fs-extra');var _=require(_0xfdbc('0x0'));var ewinston=require(_0xfdbc('0x1'));var path=require(_0xfdbc('0x2'));var util=require(_0xfdbc('0x3'));var fileLogger=require('./loggers')[_0xfdbc('0x4')];var safeTemplate=require('./safe-template')[_0xfdbc('0x5')];var maskSensitiveData=require(_0xfdbc('0x6'))[_0xfdbc('0x7')];function ClientSideLogger(){function _0x6c680b(_0x165c2a){var _0x2a1d27=path[_0xfdbc('0x8')](_0xfdbc('0x9'),_0xfdbc('0xa'),_0xfdbc('0xb'));var _0x1c097a=path[_0xfdbc('0x8')]('client',_0x165c2a[_0xfdbc('0xc')]+'-'+_0x165c2a[_0xfdbc('0xd')]);return fs['ensureDir'](path[_0xfdbc('0x8')](_0x2a1d27,_0x1c097a))[_0xfdbc('0xe')](function(){var _0x186bd4=fileLogger(_0xfdbc('0xf'),path[_0xfdbc('0x8')](_0x2a1d27,_0x1c097a));return _0x186bd4;})[_0xfdbc('0x10')](function(_0x1f7779){throw _0x1f7779;});}this[_0xfdbc('0xa')]=function(_0x1cb420,_0x183eae,_0x336c4f,_0x51d8c7){return _0x6c680b(_0x1cb420[_0xfdbc('0x11')])[_0xfdbc('0xe')](function(_0x2ce390){var _0x6c2583=_0x2ce390[_0x183eae];return _0x6c2583;})[_0xfdbc('0xe')](function(_0x142865){var _0x3e3bb2=_0x1cb420[_0xfdbc('0x11')]?_0x1cb420[_0xfdbc('0x11')]['id']:_0xfdbc('0x12');var _0x7fe9c6=_0x51d8c7['data'];var _0x38eeed=_0x51d8c7[_0xfdbc('0x13')];var _0x6f12d4=new Date(Number(_0x38eeed));return _0x142865(_0x3e3bb2,_0x6f12d4,_0x336c4f,_0x7fe9c6);})[_0xfdbc('0x10')](function(_0x1c7e88){fileLogger(_0xfdbc('0xf'))[_0xfdbc('0x14')](_0x1c7e88);});};}function setupLoggers(_0x93f837){return new Promise(function(_0x46ac93){var _0x40597e=new ClientSideLogger();var _0x3133c0=fileLogger(_0xfdbc('0x15'));var _0x2eb8f5=fileLogger(_0xfdbc('0x16'));_0x93f837[_0xfdbc('0x17')]('client-side-logger',_0x40597e);_0x93f837['use'](ewinston['logger']({'winstonInstance':_0x3133c0,'meta':![],'statusLevels':!![],'msg':function(_0x3a2cea,_0x5de3f6){var _0x239e77=_0xfdbc('0x18');if(!_[_0xfdbc('0x19')](_0x3a2cea['body'])){_0x239e77+=_0xfdbc('0x1a');var _0xb37d85=_0x3a2cea[_0xfdbc('0x1b')];maskSensitiveData(_0xb37d85);}return safeTemplate(util[_0xfdbc('0x1c')](_0x239e77,_0x3a2cea['method'],_0x3a2cea[_0xfdbc('0x1d')][_0xfdbc('0x1e')]?_0x3a2cea[_0xfdbc('0x1d')][_0xfdbc('0x1e')]:_0x3a2cea[_0xfdbc('0x1f')]['remoteAddress']||_0x3a2cea['ip'],_0x3a2cea[_0xfdbc('0x20')],_0x5de3f6[_0xfdbc('0x21')],_0x5de3f6[_0xfdbc('0x22')],_0x3a2cea[_0xfdbc('0x11')]?_0x3a2cea[_0xfdbc('0x11')]['id']:null,_0x3a2cea[_0xfdbc('0x11')]?_0x3a2cea[_0xfdbc('0x11')][_0xfdbc('0xd')]:null,_0x3a2cea[_0xfdbc('0x11')]?_0x3a2cea[_0xfdbc('0x11')][_0xfdbc('0xc')]:null,_0xb37d85?util[_0xfdbc('0x23')](_0xb37d85,![],null):''));}}));_0x93f837['use'](ewinston[_0xfdbc('0x24')]({'winstonInstance':_0x2eb8f5,'meta':![],'statusLevels':!![],'msg':function(_0x32e691,_0x46a4ad){var _0x1d1650='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s';if(_0x32e691[_0xfdbc('0x1b')]&&_0x32e691['body'][_0xfdbc('0x25')]&&_0x32e691[_0xfdbc('0x1b')][_0xfdbc('0x26')]){_0x1d1650=_0xfdbc('0x27');}return util['format'](_0x1d1650,_0x32e691['method'],_0x32e691[_0xfdbc('0x1d')][_0xfdbc('0x1e')]?_0x32e691[_0xfdbc('0x1d')][_0xfdbc('0x1e')]:_0x32e691[_0xfdbc('0x1f')][_0xfdbc('0x28')]||_0x32e691['ip'],_0x32e691['url'],_0x46a4ad[_0xfdbc('0x21')],_0x46a4ad['responseTime'],_0x32e691[_0xfdbc('0x11')]?_0x32e691[_0xfdbc('0x11')]['id']:null,_0x32e691[_0xfdbc('0x11')]?_0x32e691[_0xfdbc('0x11')][_0xfdbc('0xd')]:null,_0x32e691[_0xfdbc('0x11')]?_0x32e691[_0xfdbc('0x11')][_0xfdbc('0xc')]:null,_0x32e691[_0xfdbc('0x1b')]&&_0x32e691[_0xfdbc('0x1b')][_0xfdbc('0x25')]?_0x32e691[_0xfdbc('0x1b')][_0xfdbc('0x25')]:_0xfdbc('0x29'),_0x32e691[_0xfdbc('0x1b')]&&_0x32e691['body'][_0xfdbc('0x26')]?_0x32e691[_0xfdbc('0x1b')][_0xfdbc('0x26')]:'',_0x32e691[_0xfdbc('0x1b')]&&_0x32e691['body']['agent_name']?_0x32e691[_0xfdbc('0x1b')][_0xfdbc('0x2a')]:'');},'ignoreRoute':function(_0x91c924){var _0x4b4d08=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x4b4d08[_0xfdbc('0x2b')](_0x91c924[_0xfdbc('0x20')]);}}));return _0x46ac93();});}exports['setupLoggers']=setupLoggers;