6d745a213c1e8aa53b95f4fbb35718a340651c77
[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 _0xefc7=['api','auth','set','client-side-logger','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','\x20body=%s','headers','x-forwarded-for','remoteAddress','url','statusCode','responseTime','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','method','connection','name','other','agent_name','test','setupLoggers','fs-extra','lodash','express-winston','path','util','./loggers','./safe-template','./mask-sensitive-data','maskSensitiveData','/var','log','xcally','join','client','role','ensureDir','then','user','no-user','timestamp','catch','error'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xefc7,0x14f));var _0x7efc=function(_0x557b98,_0xcd3e1f){_0x557b98=_0x557b98-0x0;var _0x1c08f0=_0xefc7[_0x557b98];return _0x1c08f0;};var fs=require(_0x7efc('0x0'));var _=require(_0x7efc('0x1'));var ewinston=require(_0x7efc('0x2'));var path=require(_0x7efc('0x3'));var util=require(_0x7efc('0x4'));var fileLogger=require(_0x7efc('0x5'))['fileLogger'];var safeTemplate=require(_0x7efc('0x6'))['safeTemplate'];var maskSensitiveData=require(_0x7efc('0x7'))[_0x7efc('0x8')];function ClientSideLogger(){function _0x142aca(_0x325e96){var _0x554f47=path['join'](_0x7efc('0x9'),_0x7efc('0xa'),_0x7efc('0xb'));var _0x526f9c=path[_0x7efc('0xc')](_0x7efc('0xd'),_0x325e96[_0x7efc('0xe')]+'-'+_0x325e96['name']);return fs[_0x7efc('0xf')](path[_0x7efc('0xc')](_0x554f47,_0x526f9c))[_0x7efc('0x10')](function(){var _0x2b9aae=fileLogger(_0x7efc('0xd'),path[_0x7efc('0xc')](_0x554f47,_0x526f9c));return _0x2b9aae;})['catch'](function(_0x148521){throw _0x148521;});}this[_0x7efc('0xa')]=function(_0x1f9912,_0x2e4bdb,_0x2a3c67,_0x4e8dc9){return _0x142aca(_0x1f9912['user'])[_0x7efc('0x10')](function(_0x3edc44){var _0x1831a2=_0x3edc44[_0x2e4bdb];return _0x1831a2;})[_0x7efc('0x10')](function(_0x948d17){var _0x5255bb=_0x1f9912[_0x7efc('0x11')]?_0x1f9912[_0x7efc('0x11')]['id']:_0x7efc('0x12');var _0x1e64d9=_0x4e8dc9['data'];var _0x17018e=_0x4e8dc9[_0x7efc('0x13')];var _0x21a6c9=new Date(Number(_0x17018e));return _0x948d17(_0x5255bb,_0x21a6c9,_0x2a3c67,_0x1e64d9);})[_0x7efc('0x14')](function(_0x21ced6){fileLogger(_0x7efc('0xd'))[_0x7efc('0x15')](_0x21ced6);});};}function setupLoggers(_0x6a8e1){return new Promise(function(_0x40d0be){var _0x5b4499=new ClientSideLogger();var _0x1f5856=fileLogger(_0x7efc('0x16'));var _0xa713a2=fileLogger(_0x7efc('0x17'));_0x6a8e1[_0x7efc('0x18')](_0x7efc('0x19'),_0x5b4499);_0x6a8e1[_0x7efc('0x1a')](ewinston[_0x7efc('0x1b')]({'winstonInstance':_0x1f5856,'meta':![],'statusLevels':!![],'msg':function(_0x3c1d69,_0x20bf8b){var _0x42f207=_0x7efc('0x1c');if(!_[_0x7efc('0x1d')](_0x3c1d69[_0x7efc('0x1e')])){_0x42f207+=_0x7efc('0x1f');var _0x5bdad9=_0x3c1d69[_0x7efc('0x1e')];maskSensitiveData(_0x5bdad9);}return safeTemplate(util['format'](_0x42f207,_0x3c1d69['method'],_0x3c1d69[_0x7efc('0x20')][_0x7efc('0x21')]?_0x3c1d69['headers'][_0x7efc('0x21')]:_0x3c1d69['connection'][_0x7efc('0x22')]||_0x3c1d69['ip'],_0x3c1d69[_0x7efc('0x23')],_0x20bf8b[_0x7efc('0x24')],_0x20bf8b[_0x7efc('0x25')],_0x3c1d69[_0x7efc('0x11')]?_0x3c1d69[_0x7efc('0x11')]['id']:null,_0x3c1d69['user']?_0x3c1d69[_0x7efc('0x11')]['name']:null,_0x3c1d69[_0x7efc('0x11')]?_0x3c1d69['user'][_0x7efc('0xe')]:null,_0x5bdad9?util[_0x7efc('0x26')](_0x5bdad9,![],null):''));}}));_0x6a8e1[_0x7efc('0x1a')](ewinston[_0x7efc('0x1b')]({'winstonInstance':_0xa713a2,'meta':![],'statusLevels':!![],'msg':function(_0xf627a1,_0x2ac158){var _0x53f1f0=_0x7efc('0x27');if(_0xf627a1['body']&&_0xf627a1[_0x7efc('0x1e')][_0x7efc('0x28')]&&_0xf627a1[_0x7efc('0x1e')][_0x7efc('0x29')]){_0x53f1f0=_0x7efc('0x2a');}return util[_0x7efc('0x2b')](_0x53f1f0,_0xf627a1[_0x7efc('0x2c')],_0xf627a1[_0x7efc('0x20')][_0x7efc('0x21')]?_0xf627a1[_0x7efc('0x20')][_0x7efc('0x21')]:_0xf627a1[_0x7efc('0x2d')][_0x7efc('0x22')]||_0xf627a1['ip'],_0xf627a1[_0x7efc('0x23')],_0x2ac158[_0x7efc('0x24')],_0x2ac158['responseTime'],_0xf627a1['user']?_0xf627a1[_0x7efc('0x11')]['id']:null,_0xf627a1[_0x7efc('0x11')]?_0xf627a1[_0x7efc('0x11')][_0x7efc('0x2e')]:null,_0xf627a1[_0x7efc('0x11')]?_0xf627a1[_0x7efc('0x11')]['role']:null,_0xf627a1[_0x7efc('0x1e')]&&_0xf627a1[_0x7efc('0x1e')][_0x7efc('0x28')]?_0xf627a1[_0x7efc('0x1e')][_0x7efc('0x28')]:_0x7efc('0x2f'),_0xf627a1[_0x7efc('0x1e')]&&_0xf627a1[_0x7efc('0x1e')][_0x7efc('0x29')]?_0xf627a1[_0x7efc('0x1e')][_0x7efc('0x29')]:'',_0xf627a1['body']&&_0xf627a1['body'][_0x7efc('0x30')]?_0xf627a1[_0x7efc('0x1e')][_0x7efc('0x30')]:'');},'ignoreRoute':function(_0x1fb77f){var _0x16369a=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x16369a[_0x7efc('0x31')](_0x1fb77f[_0x7efc('0x23')]);}}));return _0x40d0be();});}exports[_0x7efc('0x32')]=setupLoggers;