eee11ad26f5ef88120230a914057fd3ac5332e08
[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 _0x1426=['fs-extra','lodash','util','./loggers','fileLogger','./safe-template','./mask-sensitive-data','maskSensitiveData','join','log','xcally','client','role','name','then','catch','user','no-user','data','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','isEmpty','\x20body=%s','body','method','x-forwarded-for','headers','connection','remoteAddress','inspect','%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)','format','statusCode','responseTime','other','agent_name','url','setupLoggers'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x1426,0x150));var _0x6142=function(_0x5cfbec,_0x46ec16){_0x5cfbec=_0x5cfbec-0x0;var _0x4382dc=_0x1426[_0x5cfbec];return _0x4382dc;};var fs=require(_0x6142('0x0'));var _=require(_0x6142('0x1'));var ewinston=require('express-winston');var path=require('path');var util=require(_0x6142('0x2'));var fileLogger=require(_0x6142('0x3'))[_0x6142('0x4')];var safeTemplate=require(_0x6142('0x5'))['safeTemplate'];var maskSensitiveData=require(_0x6142('0x6'))[_0x6142('0x7')];function ClientSideLogger(){function _0x2442fe(_0xe0648c){var _0x50b1c1=path[_0x6142('0x8')]('/var',_0x6142('0x9'),_0x6142('0xa'));var _0x5d87b6=path['join'](_0x6142('0xb'),_0xe0648c[_0x6142('0xc')]+'-'+_0xe0648c[_0x6142('0xd')]);return fs['ensureDir'](path['join'](_0x50b1c1,_0x5d87b6))[_0x6142('0xe')](function(){var _0x3b8948=fileLogger(_0x6142('0xb'),path[_0x6142('0x8')](_0x50b1c1,_0x5d87b6));return _0x3b8948;})[_0x6142('0xf')](function(_0x3d648c){throw _0x3d648c;});}this[_0x6142('0x9')]=function(_0x1eec89,_0xe3b21e,_0x427200,_0x4694b2){return _0x2442fe(_0x1eec89['user'])[_0x6142('0xe')](function(_0x1e80f0){var _0x226b1d=_0x1e80f0[_0xe3b21e];return _0x226b1d;})[_0x6142('0xe')](function(_0x209cef){var _0x3be422=_0x1eec89[_0x6142('0x10')]?_0x1eec89[_0x6142('0x10')]['id']:_0x6142('0x11');var _0x481056=_0x4694b2[_0x6142('0x12')];var _0x34b212=_0x4694b2[_0x6142('0x13')];var _0x55159f=new Date(Number(_0x34b212));return _0x209cef(_0x3be422,_0x55159f,_0x427200,_0x481056);})[_0x6142('0xf')](function(_0x4b0984){fileLogger(_0x6142('0xb'))[_0x6142('0x14')](_0x4b0984);});};}function setupLoggers(_0x4b3e1e){return new Promise(function(_0xb5937a){var _0x269478=new ClientSideLogger();var _0x5e1fef=fileLogger(_0x6142('0x15'));var _0x15f79a=fileLogger(_0x6142('0x16'));_0x4b3e1e[_0x6142('0x17')](_0x6142('0x18'),_0x269478);_0x4b3e1e[_0x6142('0x19')](ewinston[_0x6142('0x1a')]({'winstonInstance':_0x5e1fef,'meta':![],'statusLevels':!![],'msg':function(_0x2ede61,_0x461bc1){var _0x194c95=_0x6142('0x1b');if(!_[_0x6142('0x1c')](_0x2ede61['body'])){_0x194c95+=_0x6142('0x1d');var _0x1a9174=_0x2ede61[_0x6142('0x1e')];maskSensitiveData(_0x1a9174);}return safeTemplate(util['format'](_0x194c95,_0x2ede61[_0x6142('0x1f')],_0x2ede61['headers'][_0x6142('0x20')]?_0x2ede61[_0x6142('0x21')][_0x6142('0x20')]:_0x2ede61[_0x6142('0x22')][_0x6142('0x23')]||_0x2ede61['ip'],_0x2ede61['url'],_0x461bc1['statusCode'],_0x461bc1['responseTime'],_0x2ede61['user']?_0x2ede61[_0x6142('0x10')]['id']:null,_0x2ede61[_0x6142('0x10')]?_0x2ede61[_0x6142('0x10')][_0x6142('0xd')]:null,_0x2ede61['user']?_0x2ede61[_0x6142('0x10')][_0x6142('0xc')]:null,_0x1a9174?util[_0x6142('0x24')](_0x1a9174,![],null):''));}}));_0x4b3e1e[_0x6142('0x19')](ewinston['logger']({'winstonInstance':_0x15f79a,'meta':![],'statusLevels':!![],'msg':function(_0x4b53a5,_0x1362ce){var _0x107c48=_0x6142('0x25');if(_0x4b53a5[_0x6142('0x1e')]&&_0x4b53a5[_0x6142('0x1e')][_0x6142('0x26')]&&_0x4b53a5[_0x6142('0x1e')][_0x6142('0x27')]){_0x107c48=_0x6142('0x28');}return util[_0x6142('0x29')](_0x107c48,_0x4b53a5[_0x6142('0x1f')],_0x4b53a5['headers']['x-forwarded-for']?_0x4b53a5['headers'][_0x6142('0x20')]:_0x4b53a5[_0x6142('0x22')][_0x6142('0x23')]||_0x4b53a5['ip'],_0x4b53a5['url'],_0x1362ce[_0x6142('0x2a')],_0x1362ce[_0x6142('0x2b')],_0x4b53a5[_0x6142('0x10')]?_0x4b53a5[_0x6142('0x10')]['id']:null,_0x4b53a5[_0x6142('0x10')]?_0x4b53a5[_0x6142('0x10')][_0x6142('0xd')]:null,_0x4b53a5['user']?_0x4b53a5['user']['role']:null,_0x4b53a5[_0x6142('0x1e')]&&_0x4b53a5[_0x6142('0x1e')]['device']?_0x4b53a5[_0x6142('0x1e')][_0x6142('0x26')]:_0x6142('0x2c'),_0x4b53a5[_0x6142('0x1e')]&&_0x4b53a5['body'][_0x6142('0x27')]?_0x4b53a5[_0x6142('0x1e')][_0x6142('0x27')]:'',_0x4b53a5[_0x6142('0x1e')]&&_0x4b53a5[_0x6142('0x1e')][_0x6142('0x2d')]?_0x4b53a5['body']['agent_name']:'');},'ignoreRoute':function(_0x2be978){var _0x24da56=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x24da56['test'](_0x2be978[_0x6142('0x2e')]);}}));return _0xb5937a();});}exports[_0x6142('0x2f')]=setupLoggers;