43508d0540f9e37c23eb6bc4cffa8c51d0b6c4d1
[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 _0xe6e5=['body','\x20body=%s','format','method','headers','x-forwarded-for','connection','remoteAddress','url','statusCode','responseTime','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','device','agent_id','other','agent_name','test','lodash','path','util','./loggers','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','log','role','name','ensureDir','then','catch','user','no-user','data','timestamp','client','error','api','auth','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s'];(function(_0x49b207,_0x408ade){var _0x2dc8fa=function(_0x150975){while(--_0x150975){_0x49b207['push'](_0x49b207['shift']());}};_0x2dc8fa(++_0x408ade);}(_0xe6e5,0x8f));var _0x5e6e=function(_0x1b6c6d,_0x2983b0){_0x1b6c6d=_0x1b6c6d-0x0;var _0x290d9d=_0xe6e5[_0x1b6c6d];return _0x290d9d;};var fs=require('fs-extra');var _=require(_0x5e6e('0x0'));var ewinston=require('express-winston');var path=require(_0x5e6e('0x1'));var util=require(_0x5e6e('0x2'));var fileLogger=require(_0x5e6e('0x3'))['fileLogger'];var safeTemplate=require('./safe-template')[_0x5e6e('0x4')];var maskSensitiveData=require(_0x5e6e('0x5'))[_0x5e6e('0x6')];function ClientSideLogger(){function _0x28b928(_0x51a65d){var _0x2d1864=path[_0x5e6e('0x7')]('/var',_0x5e6e('0x8'),'xcally');var _0x3cb485=path[_0x5e6e('0x7')]('client',_0x51a65d[_0x5e6e('0x9')]+'-'+_0x51a65d[_0x5e6e('0xa')]);return fs[_0x5e6e('0xb')](path[_0x5e6e('0x7')](_0x2d1864,_0x3cb485))[_0x5e6e('0xc')](function(){var _0x4f79d2=fileLogger('client',path['join'](_0x2d1864,_0x3cb485));return _0x4f79d2;})[_0x5e6e('0xd')](function(_0x460279){throw _0x460279;});}this[_0x5e6e('0x8')]=function(_0x478f58,_0x304367,_0x3c858f,_0x1cda70){return _0x28b928(_0x478f58[_0x5e6e('0xe')])[_0x5e6e('0xc')](function(_0x50d8b6){var _0xb226d8=_0x50d8b6[_0x304367];return _0xb226d8;})['then'](function(_0x3a6dcf){var _0x32e704=_0x478f58[_0x5e6e('0xe')]?_0x478f58[_0x5e6e('0xe')]['id']:_0x5e6e('0xf');var _0x587554=_0x1cda70[_0x5e6e('0x10')];var _0x5c126e=_0x1cda70[_0x5e6e('0x11')];var _0x323986=new Date(Number(_0x5c126e));return _0x3a6dcf(_0x32e704,_0x323986,_0x3c858f,_0x587554);})[_0x5e6e('0xd')](function(_0x125c74){fileLogger(_0x5e6e('0x12'))[_0x5e6e('0x13')](_0x125c74);});};}function setupLoggers(_0x27bf4c){return new Promise(function(_0x2655a7){var _0xafc6df=new ClientSideLogger();var _0x421781=fileLogger(_0x5e6e('0x14'));var _0x58e9fb=fileLogger(_0x5e6e('0x15'));_0x27bf4c['set']('client-side-logger',_0xafc6df);_0x27bf4c[_0x5e6e('0x16')](ewinston[_0x5e6e('0x17')]({'winstonInstance':_0x421781,'meta':![],'statusLevels':!![],'msg':function(_0x1790c0,_0x4bb378){var _0x76d4c7=_0x5e6e('0x18');if(!_['isEmpty'](_0x1790c0[_0x5e6e('0x19')])){_0x76d4c7+=_0x5e6e('0x1a');var _0x5a3433=_0x1790c0[_0x5e6e('0x19')];maskSensitiveData(_0x5a3433);}return safeTemplate(util[_0x5e6e('0x1b')](_0x76d4c7,_0x1790c0[_0x5e6e('0x1c')],_0x1790c0[_0x5e6e('0x1d')]['x-forwarded-for']?_0x1790c0[_0x5e6e('0x1d')][_0x5e6e('0x1e')]:_0x1790c0[_0x5e6e('0x1f')][_0x5e6e('0x20')]||_0x1790c0['ip'],_0x1790c0[_0x5e6e('0x21')],_0x4bb378[_0x5e6e('0x22')],_0x4bb378[_0x5e6e('0x23')],_0x1790c0[_0x5e6e('0xe')]?_0x1790c0[_0x5e6e('0xe')]['id']:null,_0x1790c0['user']?_0x1790c0[_0x5e6e('0xe')][_0x5e6e('0xa')]:null,_0x1790c0['user']?_0x1790c0[_0x5e6e('0xe')][_0x5e6e('0x9')]:null,_0x5a3433?util['inspect'](_0x5a3433,![],null):''));}}));_0x27bf4c[_0x5e6e('0x16')](ewinston[_0x5e6e('0x17')]({'winstonInstance':_0x58e9fb,'meta':![],'statusLevels':!![],'msg':function(_0x142157,_0x6bbc50){var _0x22446e=_0x5e6e('0x24');if(_0x142157[_0x5e6e('0x19')]&&_0x142157[_0x5e6e('0x19')][_0x5e6e('0x25')]&&_0x142157[_0x5e6e('0x19')][_0x5e6e('0x26')]){_0x22446e='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util[_0x5e6e('0x1b')](_0x22446e,_0x142157['method'],_0x142157[_0x5e6e('0x1d')][_0x5e6e('0x1e')]?_0x142157[_0x5e6e('0x1d')][_0x5e6e('0x1e')]:_0x142157[_0x5e6e('0x1f')][_0x5e6e('0x20')]||_0x142157['ip'],_0x142157[_0x5e6e('0x21')],_0x6bbc50[_0x5e6e('0x22')],_0x6bbc50[_0x5e6e('0x23')],_0x142157[_0x5e6e('0xe')]?_0x142157['user']['id']:null,_0x142157[_0x5e6e('0xe')]?_0x142157[_0x5e6e('0xe')][_0x5e6e('0xa')]:null,_0x142157[_0x5e6e('0xe')]?_0x142157['user'][_0x5e6e('0x9')]:null,_0x142157[_0x5e6e('0x19')]&&_0x142157[_0x5e6e('0x19')][_0x5e6e('0x25')]?_0x142157[_0x5e6e('0x19')][_0x5e6e('0x25')]:_0x5e6e('0x27'),_0x142157[_0x5e6e('0x19')]&&_0x142157['body'][_0x5e6e('0x26')]?_0x142157[_0x5e6e('0x19')]['agent_id']:'',_0x142157[_0x5e6e('0x19')]&&_0x142157[_0x5e6e('0x19')][_0x5e6e('0x28')]?_0x142157['body']['agent_name']:'');},'ignoreRoute':function(_0x249185){var _0x169314=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x169314[_0x5e6e('0x29')](_0x249185[_0x5e6e('0x21')]);}}));return _0x2655a7();});}exports['setupLoggers']=setupLoggers;