Built motion from commit d6d69adf.|2.6.33
[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 _0xe78c=['%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','url','statusCode','responseTime','role','use','%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)','agent_name','test','setupLoggers','fs-extra','express-winston','path','./loggers','fileLogger','./safe-template','safeTemplate','./mask-sensitive-data','maskSensitiveData','/var','log','xcally','name','ensureDir','join','catch','user','then','no-user','data','timestamp','error','api','auth','set','client-side-logger','logger'];(function(_0x413585,_0x3804b5){var _0x436cd3=function(_0x18caaa){while(--_0x18caaa){_0x413585['push'](_0x413585['shift']());}};_0x436cd3(++_0x3804b5);}(_0xe78c,0x16d));var _0xce78=function(_0x1cc8fe,_0x105328){_0x1cc8fe=_0x1cc8fe-0x0;var _0x230054=_0xe78c[_0x1cc8fe];return _0x230054;};var fs=require(_0xce78('0x0'));var _=require('lodash');var ewinston=require(_0xce78('0x1'));var path=require(_0xce78('0x2'));var util=require('util');var fileLogger=require(_0xce78('0x3'))[_0xce78('0x4')];var safeTemplate=require(_0xce78('0x5'))[_0xce78('0x6')];var maskSensitiveData=require(_0xce78('0x7'))[_0xce78('0x8')];function ClientSideLogger(){function _0x2cf262(_0x397fe1){var _0x356a06=path['join'](_0xce78('0x9'),_0xce78('0xa'),_0xce78('0xb'));var _0x2c2cd3=path['join']('client',_0x397fe1['role']+'-'+_0x397fe1[_0xce78('0xc')]);return fs[_0xce78('0xd')](path[_0xce78('0xe')](_0x356a06,_0x2c2cd3))['then'](function(){var _0x43f4dc=fileLogger('client',path['join'](_0x356a06,_0x2c2cd3));return _0x43f4dc;})[_0xce78('0xf')](function(_0x4526eb){throw _0x4526eb;});}this[_0xce78('0xa')]=function(_0x460c22,_0x959310,_0x48a64b,_0x34eae5){return _0x2cf262(_0x460c22[_0xce78('0x10')])['then'](function(_0x1d58a3){var _0x5ed36c=_0x1d58a3[_0x959310];return _0x5ed36c;})[_0xce78('0x11')](function(_0x473436){var _0x399477=_0x460c22[_0xce78('0x10')]?_0x460c22[_0xce78('0x10')]['id']:_0xce78('0x12');var _0x3118b5=_0x34eae5[_0xce78('0x13')];var _0x3ce64e=_0x34eae5[_0xce78('0x14')];var _0x29927c=new Date(Number(_0x3ce64e));return _0x473436(_0x399477,_0x29927c,_0x48a64b,_0x3118b5);})[_0xce78('0xf')](function(_0xb4c677){fileLogger('client')[_0xce78('0x15')](_0xb4c677);});};}function setupLoggers(_0x3a2454){return new Promise(function(_0x37944a){var _0x1e850f=new ClientSideLogger();var _0xc3333f=fileLogger(_0xce78('0x16'));var _0x44ac6d=fileLogger(_0xce78('0x17'));_0x3a2454[_0xce78('0x18')](_0xce78('0x19'),_0x1e850f);_0x3a2454['use'](ewinston[_0xce78('0x1a')]({'winstonInstance':_0xc3333f,'meta':![],'statusLevels':!![],'msg':function(_0x15523e,_0x59f100){var _0x42f5b1=_0xce78('0x1b');if(!_[_0xce78('0x1c')](_0x15523e[_0xce78('0x1d')])){_0x42f5b1+=_0xce78('0x1e');var _0x239028=_0x15523e['body'];maskSensitiveData(_0x239028);}return safeTemplate(util[_0xce78('0x1f')](_0x42f5b1,_0x15523e[_0xce78('0x20')],_0x15523e[_0xce78('0x21')]['x-forwarded-for']?_0x15523e['headers'][_0xce78('0x22')]:_0x15523e[_0xce78('0x23')][_0xce78('0x24')]||_0x15523e['ip'],_0x15523e[_0xce78('0x25')],_0x59f100[_0xce78('0x26')],_0x59f100[_0xce78('0x27')],_0x15523e[_0xce78('0x10')]?_0x15523e['user']['id']:null,_0x15523e[_0xce78('0x10')]?_0x15523e[_0xce78('0x10')]['name']:null,_0x15523e[_0xce78('0x10')]?_0x15523e['user'][_0xce78('0x28')]:null,_0x239028?util['inspect'](_0x239028,![],null):''));}}));_0x3a2454[_0xce78('0x29')](ewinston[_0xce78('0x1a')]({'winstonInstance':_0x44ac6d,'meta':![],'statusLevels':!![],'msg':function(_0x3c48f5,_0x377588){var _0x5c22f7=_0xce78('0x2a');if(_0x3c48f5[_0xce78('0x1d')]&&_0x3c48f5[_0xce78('0x1d')][_0xce78('0x2b')]&&_0x3c48f5[_0xce78('0x1d')][_0xce78('0x2c')]){_0x5c22f7=_0xce78('0x2d');}return util[_0xce78('0x1f')](_0x5c22f7,_0x3c48f5[_0xce78('0x20')],_0x3c48f5[_0xce78('0x21')][_0xce78('0x22')]?_0x3c48f5[_0xce78('0x21')]['x-forwarded-for']:_0x3c48f5[_0xce78('0x23')][_0xce78('0x24')]||_0x3c48f5['ip'],_0x3c48f5[_0xce78('0x25')],_0x377588[_0xce78('0x26')],_0x377588['responseTime'],_0x3c48f5['user']?_0x3c48f5[_0xce78('0x10')]['id']:null,_0x3c48f5[_0xce78('0x10')]?_0x3c48f5[_0xce78('0x10')][_0xce78('0xc')]:null,_0x3c48f5[_0xce78('0x10')]?_0x3c48f5[_0xce78('0x10')]['role']:null,_0x3c48f5[_0xce78('0x1d')]&&_0x3c48f5['body'][_0xce78('0x2b')]?_0x3c48f5['body']['device']:'other',_0x3c48f5[_0xce78('0x1d')]&&_0x3c48f5[_0xce78('0x1d')]['agent_id']?_0x3c48f5['body'][_0xce78('0x2c')]:'',_0x3c48f5[_0xce78('0x1d')]&&_0x3c48f5[_0xce78('0x1d')][_0xce78('0x2e')]?_0x3c48f5[_0xce78('0x1d')][_0xce78('0x2e')]:'');},'ignoreRoute':function(_0x3d23a8){var _0x509d08=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x509d08[_0xce78('0x2f')](_0x3d23a8['url']);}}));return _0x37944a();});}exports[_0xce78('0x30')]=setupLoggers;