Built motion from commit d5e4af8c.|2.6.23
[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 _0x8aaf=['catch','log','then','user','no-user','data','timestamp','api','auth','set','client-side-logger','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','body','format','method','headers','x-forwarded-for','connection','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)','other','agent_name','fs-extra','lodash','express-winston','path','util','./loggers','./safe-template','./mask-sensitive-data','join','/var','xcally','client','role','name','ensureDir'];(function(_0x44e5fe,_0xd4a750){var _0x43466f=function(_0x2aaf3d){while(--_0x2aaf3d){_0x44e5fe['push'](_0x44e5fe['shift']());}};_0x43466f(++_0xd4a750);}(_0x8aaf,0x1bd));var _0xf8aa=function(_0x6ab5b0,_0x471b81){_0x6ab5b0=_0x6ab5b0-0x0;var _0x4bcaef=_0x8aaf[_0x6ab5b0];return _0x4bcaef;};var fs=require(_0xf8aa('0x0'));var _=require(_0xf8aa('0x1'));var ewinston=require(_0xf8aa('0x2'));var path=require(_0xf8aa('0x3'));var util=require(_0xf8aa('0x4'));var fileLogger=require(_0xf8aa('0x5'))['fileLogger'];var safeTemplate=require(_0xf8aa('0x6'))['safeTemplate'];var maskSensitiveData=require(_0xf8aa('0x7'))['maskSensitiveData'];function ClientSideLogger(){function _0x3b9542(_0x46d366){var _0x4c0ec0=path[_0xf8aa('0x8')](_0xf8aa('0x9'),'log',_0xf8aa('0xa'));var _0x53fa98=path['join'](_0xf8aa('0xb'),_0x46d366[_0xf8aa('0xc')]+'-'+_0x46d366[_0xf8aa('0xd')]);return fs[_0xf8aa('0xe')](path['join'](_0x4c0ec0,_0x53fa98))['then'](function(){var _0x352919=fileLogger(_0xf8aa('0xb'),path['join'](_0x4c0ec0,_0x53fa98));return _0x352919;})[_0xf8aa('0xf')](function(_0xece9c6){throw _0xece9c6;});}this[_0xf8aa('0x10')]=function(_0x3a6e73,_0x29ae44,_0x16a2f0,_0x45f159){return _0x3b9542(_0x3a6e73['user'])[_0xf8aa('0x11')](function(_0x4a6764){var _0x423ca6=_0x4a6764[_0x29ae44];return _0x423ca6;})[_0xf8aa('0x11')](function(_0x1f042a){var _0x2c693e=_0x3a6e73[_0xf8aa('0x12')]?_0x3a6e73[_0xf8aa('0x12')]['id']:_0xf8aa('0x13');var _0x153ca3=_0x45f159[_0xf8aa('0x14')];var _0x518523=_0x45f159[_0xf8aa('0x15')];var _0x46e008=new Date(Number(_0x518523));return _0x1f042a(_0x2c693e,_0x46e008,_0x16a2f0,_0x153ca3);})[_0xf8aa('0xf')](function(_0x56c131){fileLogger(_0xf8aa('0xb'))['error'](_0x56c131);});};}function setupLoggers(_0x1b6e61){return new Promise(function(_0x4450f2){var _0x4435fb=new ClientSideLogger();var _0x45690f=fileLogger(_0xf8aa('0x16'));var _0xd9dd96=fileLogger(_0xf8aa('0x17'));_0x1b6e61[_0xf8aa('0x18')](_0xf8aa('0x19'),_0x4435fb);_0x1b6e61[_0xf8aa('0x1a')](ewinston[_0xf8aa('0x1b')]({'winstonInstance':_0x45690f,'meta':![],'statusLevels':!![],'msg':function(_0x943d19,_0x38fda4){var _0x1d8043=_0xf8aa('0x1c');if(!_['isEmpty'](_0x943d19[_0xf8aa('0x1d')])){_0x1d8043+='\x20body=%s';var _0x497cd4=_0x943d19[_0xf8aa('0x1d')];maskSensitiveData(_0x497cd4);}return safeTemplate(util[_0xf8aa('0x1e')](_0x1d8043,_0x943d19[_0xf8aa('0x1f')],_0x943d19[_0xf8aa('0x20')][_0xf8aa('0x21')]?_0x943d19[_0xf8aa('0x20')]['x-forwarded-for']:_0x943d19[_0xf8aa('0x22')][_0xf8aa('0x23')]||_0x943d19['ip'],_0x943d19[_0xf8aa('0x24')],_0x38fda4[_0xf8aa('0x25')],_0x38fda4[_0xf8aa('0x26')],_0x943d19['user']?_0x943d19['user']['id']:null,_0x943d19[_0xf8aa('0x12')]?_0x943d19[_0xf8aa('0x12')][_0xf8aa('0xd')]:null,_0x943d19[_0xf8aa('0x12')]?_0x943d19[_0xf8aa('0x12')]['role']:null,_0x497cd4?util[_0xf8aa('0x27')](_0x497cd4,![],null):''));}}));_0x1b6e61['use'](ewinston[_0xf8aa('0x1b')]({'winstonInstance':_0xd9dd96,'meta':![],'statusLevels':!![],'msg':function(_0x4a836c,_0x425a86){var _0x57d666=_0xf8aa('0x28');if(_0x4a836c['body']&&_0x4a836c[_0xf8aa('0x1d')][_0xf8aa('0x29')]&&_0x4a836c[_0xf8aa('0x1d')][_0xf8aa('0x2a')]){_0x57d666=_0xf8aa('0x2b');}return util[_0xf8aa('0x1e')](_0x57d666,_0x4a836c['method'],_0x4a836c[_0xf8aa('0x20')]['x-forwarded-for']?_0x4a836c['headers'][_0xf8aa('0x21')]:_0x4a836c[_0xf8aa('0x22')][_0xf8aa('0x23')]||_0x4a836c['ip'],_0x4a836c['url'],_0x425a86[_0xf8aa('0x25')],_0x425a86[_0xf8aa('0x26')],_0x4a836c[_0xf8aa('0x12')]?_0x4a836c[_0xf8aa('0x12')]['id']:null,_0x4a836c[_0xf8aa('0x12')]?_0x4a836c[_0xf8aa('0x12')]['name']:null,_0x4a836c[_0xf8aa('0x12')]?_0x4a836c[_0xf8aa('0x12')]['role']:null,_0x4a836c[_0xf8aa('0x1d')]&&_0x4a836c[_0xf8aa('0x1d')]['device']?_0x4a836c['body'][_0xf8aa('0x29')]:_0xf8aa('0x2c'),_0x4a836c[_0xf8aa('0x1d')]&&_0x4a836c[_0xf8aa('0x1d')][_0xf8aa('0x2a')]?_0x4a836c[_0xf8aa('0x1d')][_0xf8aa('0x2a')]:'',_0x4a836c[_0xf8aa('0x1d')]&&_0x4a836c['body'][_0xf8aa('0x2d')]?_0x4a836c['body'][_0xf8aa('0x2d')]:'');},'ignoreRoute':function(_0x47752c){var _0x32d5e2=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x32d5e2['test'](_0x47752c[_0xf8aa('0x24')]);}}));return _0x4450f2();});}exports['setupLoggers']=setupLoggers;