Built motion from commit 0900f080.|2.5.45
[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 _0x92c6=['fs-extra','lodash','express-winston','path','fileLogger','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','log','xcally','role','ensureDir','then','client','catch','user','no-user','timestamp','error','api','client-side-logger','use','isEmpty','\x20body=%s','body','format','method','headers','x-forwarded-for','connection','remoteAddress','url','inspect','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','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)','statusCode','responseTime','name','other','agent_name','test','setupLoggers'];(function(_0x82861,_0x546694){var _0x6ae5dc=function(_0x3736b1){while(--_0x3736b1){_0x82861['push'](_0x82861['shift']());}};_0x6ae5dc(++_0x546694);}(_0x92c6,0xeb));var _0x692c=function(_0xf94247,_0x179766){_0xf94247=_0xf94247-0x0;var _0x4d3653=_0x92c6[_0xf94247];return _0x4d3653;};var fs=require(_0x692c('0x0'));var _=require(_0x692c('0x1'));var ewinston=require(_0x692c('0x2'));var path=require(_0x692c('0x3'));var util=require('util');var fileLogger=require('./loggers')[_0x692c('0x4')];var safeTemplate=require('./safe-template')[_0x692c('0x5')];var maskSensitiveData=require(_0x692c('0x6'))[_0x692c('0x7')];function ClientSideLogger(){function _0x4bdd93(_0x5c85a7){var _0x1dd2ea=path[_0x692c('0x8')](_0x692c('0x9'),_0x692c('0xa'),_0x692c('0xb'));var _0x108e7d=path[_0x692c('0x8')]('client',_0x5c85a7[_0x692c('0xc')]+'-'+_0x5c85a7['name']);return fs[_0x692c('0xd')](path[_0x692c('0x8')](_0x1dd2ea,_0x108e7d))[_0x692c('0xe')](function(){var _0xd2d060=fileLogger(_0x692c('0xf'),path[_0x692c('0x8')](_0x1dd2ea,_0x108e7d));return _0xd2d060;})[_0x692c('0x10')](function(_0x4414e4){throw _0x4414e4;});}this['log']=function(_0x6b2134,_0x460e42,_0x140d0f,_0x10fd80){return _0x4bdd93(_0x6b2134[_0x692c('0x11')])[_0x692c('0xe')](function(_0x4e8afa){var _0x326b06=_0x4e8afa[_0x460e42];return _0x326b06;})['then'](function(_0x511289){var _0x292946=_0x6b2134[_0x692c('0x11')]?_0x6b2134[_0x692c('0x11')]['id']:_0x692c('0x12');var _0x4c738f=_0x10fd80['data'];var _0x1fda76=_0x10fd80[_0x692c('0x13')];var _0x2a5433=new Date(Number(_0x1fda76));return _0x511289(_0x292946,_0x2a5433,_0x140d0f,_0x4c738f);})['catch'](function(_0x70b45e){fileLogger(_0x692c('0xf'))[_0x692c('0x14')](_0x70b45e);});};}function setupLoggers(_0x3ff4a3){return new Promise(function(_0x5aee98){var _0x493525=new ClientSideLogger();var _0x3db147=fileLogger(_0x692c('0x15'));var _0x529edf=fileLogger('auth');_0x3ff4a3['set'](_0x692c('0x16'),_0x493525);_0x3ff4a3[_0x692c('0x17')](ewinston['logger']({'winstonInstance':_0x3db147,'meta':![],'statusLevels':!![],'msg':function(_0x43fe81,_0x3dbe4b){var _0x3737bc='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_[_0x692c('0x18')](_0x43fe81['body'])){_0x3737bc+=_0x692c('0x19');var _0x43e82c=_0x43fe81[_0x692c('0x1a')];maskSensitiveData(_0x43e82c);}return safeTemplate(util[_0x692c('0x1b')](_0x3737bc,_0x43fe81[_0x692c('0x1c')],_0x43fe81[_0x692c('0x1d')][_0x692c('0x1e')]?_0x43fe81[_0x692c('0x1d')]['x-forwarded-for']:_0x43fe81[_0x692c('0x1f')][_0x692c('0x20')]||_0x43fe81['ip'],_0x43fe81[_0x692c('0x21')],_0x3dbe4b['statusCode'],_0x3dbe4b['responseTime'],_0x43fe81[_0x692c('0x11')]?_0x43fe81[_0x692c('0x11')]['id']:null,_0x43fe81['user']?_0x43fe81['user']['name']:null,_0x43fe81[_0x692c('0x11')]?_0x43fe81['user'][_0x692c('0xc')]:null,_0x43e82c?util[_0x692c('0x22')](_0x43e82c,![],null):''));}}));_0x3ff4a3[_0x692c('0x17')](ewinston[_0x692c('0x23')]({'winstonInstance':_0x529edf,'meta':![],'statusLevels':!![],'msg':function(_0x4e4c0b,_0xd7084e){var _0x4360c7=_0x692c('0x24');if(_0x4e4c0b[_0x692c('0x1a')]&&_0x4e4c0b[_0x692c('0x1a')][_0x692c('0x25')]&&_0x4e4c0b[_0x692c('0x1a')][_0x692c('0x26')]){_0x4360c7=_0x692c('0x27');}return util[_0x692c('0x1b')](_0x4360c7,_0x4e4c0b[_0x692c('0x1c')],_0x4e4c0b['headers']['x-forwarded-for']?_0x4e4c0b[_0x692c('0x1d')]['x-forwarded-for']:_0x4e4c0b[_0x692c('0x1f')][_0x692c('0x20')]||_0x4e4c0b['ip'],_0x4e4c0b[_0x692c('0x21')],_0xd7084e[_0x692c('0x28')],_0xd7084e[_0x692c('0x29')],_0x4e4c0b[_0x692c('0x11')]?_0x4e4c0b['user']['id']:null,_0x4e4c0b[_0x692c('0x11')]?_0x4e4c0b[_0x692c('0x11')][_0x692c('0x2a')]:null,_0x4e4c0b[_0x692c('0x11')]?_0x4e4c0b['user'][_0x692c('0xc')]:null,_0x4e4c0b[_0x692c('0x1a')]&&_0x4e4c0b[_0x692c('0x1a')][_0x692c('0x25')]?_0x4e4c0b[_0x692c('0x1a')][_0x692c('0x25')]:_0x692c('0x2b'),_0x4e4c0b[_0x692c('0x1a')]&&_0x4e4c0b[_0x692c('0x1a')][_0x692c('0x26')]?_0x4e4c0b[_0x692c('0x1a')][_0x692c('0x26')]:'',_0x4e4c0b[_0x692c('0x1a')]&&_0x4e4c0b[_0x692c('0x1a')][_0x692c('0x2c')]?_0x4e4c0b['body'][_0x692c('0x2c')]:'');},'ignoreRoute':function(_0x356bf9){var _0x1b20f3=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x1b20f3[_0x692c('0x2d')](_0x356bf9[_0x692c('0x21')]);}}));return _0x5aee98();});}exports[_0x692c('0x2e')]=setupLoggers;