Built motion from commit efa66e19.|2.6.22
[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 _0x7789=['./mask-sensitive-data','maskSensitiveData','join','client','role','then','catch','log','user','no-user','data','timestamp','error','auth','set','client-side-logger','logger','isEmpty','body','method','headers','x-forwarded-for','connection','url','responseTime','name','inspect','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)','format','remoteAddress','statusCode','other','agent_name','test','setupLoggers','fs-extra','lodash','util','./loggers','fileLogger','./safe-template','safeTemplate'];(function(_0x4e4afc,_0x2da1ac){var _0x3de051=function(_0x7760f0){while(--_0x7760f0){_0x4e4afc['push'](_0x4e4afc['shift']());}};_0x3de051(++_0x2da1ac);}(_0x7789,0x197));var _0x9778=function(_0x101ba7,_0x45fca8){_0x101ba7=_0x101ba7-0x0;var _0x54c751=_0x7789[_0x101ba7];return _0x54c751;};var fs=require(_0x9778('0x0'));var _=require(_0x9778('0x1'));var ewinston=require('express-winston');var path=require('path');var util=require(_0x9778('0x2'));var fileLogger=require(_0x9778('0x3'))[_0x9778('0x4')];var safeTemplate=require(_0x9778('0x5'))[_0x9778('0x6')];var maskSensitiveData=require(_0x9778('0x7'))[_0x9778('0x8')];function ClientSideLogger(){function _0xe7997d(_0x2b0148){var _0x3c2672=path['join']('/var','log','xcally');var _0x4a5b02=path[_0x9778('0x9')](_0x9778('0xa'),_0x2b0148[_0x9778('0xb')]+'-'+_0x2b0148['name']);return fs['ensureDir'](path[_0x9778('0x9')](_0x3c2672,_0x4a5b02))[_0x9778('0xc')](function(){var _0x4a842b=fileLogger(_0x9778('0xa'),path[_0x9778('0x9')](_0x3c2672,_0x4a5b02));return _0x4a842b;})[_0x9778('0xd')](function(_0x4a5927){throw _0x4a5927;});}this[_0x9778('0xe')]=function(_0x430cbe,_0x489eca,_0x367d50,_0x4a68e1){return _0xe7997d(_0x430cbe['user'])['then'](function(_0x3d9bc6){var _0x390c92=_0x3d9bc6[_0x489eca];return _0x390c92;})[_0x9778('0xc')](function(_0x446cb6){var _0x4a8165=_0x430cbe['user']?_0x430cbe[_0x9778('0xf')]['id']:_0x9778('0x10');var _0x4f8fa1=_0x4a68e1[_0x9778('0x11')];var _0x4379ee=_0x4a68e1[_0x9778('0x12')];var _0x593b0=new Date(Number(_0x4379ee));return _0x446cb6(_0x4a8165,_0x593b0,_0x367d50,_0x4f8fa1);})['catch'](function(_0x59e61d){fileLogger(_0x9778('0xa'))[_0x9778('0x13')](_0x59e61d);});};}function setupLoggers(_0x55fd62){return new Promise(function(_0x50cd95){var _0x5a29ab=new ClientSideLogger();var _0x3c5c8e=fileLogger('api');var _0x1fc9f2=fileLogger(_0x9778('0x14'));_0x55fd62[_0x9778('0x15')](_0x9778('0x16'),_0x5a29ab);_0x55fd62['use'](ewinston[_0x9778('0x17')]({'winstonInstance':_0x3c5c8e,'meta':![],'statusLevels':!![],'msg':function(_0x33e0c9,_0x233be1){var _0x125705='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_[_0x9778('0x18')](_0x33e0c9[_0x9778('0x19')])){_0x125705+='\x20body=%s';var _0x182c2c=_0x33e0c9[_0x9778('0x19')];maskSensitiveData(_0x182c2c);}return safeTemplate(util['format'](_0x125705,_0x33e0c9[_0x9778('0x1a')],_0x33e0c9[_0x9778('0x1b')]['x-forwarded-for']?_0x33e0c9[_0x9778('0x1b')][_0x9778('0x1c')]:_0x33e0c9[_0x9778('0x1d')]['remoteAddress']||_0x33e0c9['ip'],_0x33e0c9[_0x9778('0x1e')],_0x233be1['statusCode'],_0x233be1[_0x9778('0x1f')],_0x33e0c9[_0x9778('0xf')]?_0x33e0c9[_0x9778('0xf')]['id']:null,_0x33e0c9[_0x9778('0xf')]?_0x33e0c9[_0x9778('0xf')][_0x9778('0x20')]:null,_0x33e0c9[_0x9778('0xf')]?_0x33e0c9['user'][_0x9778('0xb')]:null,_0x182c2c?util[_0x9778('0x21')](_0x182c2c,![],null):''));}}));_0x55fd62[_0x9778('0x22')](ewinston['logger']({'winstonInstance':_0x1fc9f2,'meta':![],'statusLevels':!![],'msg':function(_0x1ce5cc,_0x25c172){var _0x2a3450=_0x9778('0x23');if(_0x1ce5cc['body']&&_0x1ce5cc[_0x9778('0x19')][_0x9778('0x24')]&&_0x1ce5cc['body'][_0x9778('0x25')]){_0x2a3450=_0x9778('0x26');}return util[_0x9778('0x27')](_0x2a3450,_0x1ce5cc[_0x9778('0x1a')],_0x1ce5cc[_0x9778('0x1b')]['x-forwarded-for']?_0x1ce5cc[_0x9778('0x1b')]['x-forwarded-for']:_0x1ce5cc[_0x9778('0x1d')][_0x9778('0x28')]||_0x1ce5cc['ip'],_0x1ce5cc[_0x9778('0x1e')],_0x25c172[_0x9778('0x29')],_0x25c172[_0x9778('0x1f')],_0x1ce5cc[_0x9778('0xf')]?_0x1ce5cc[_0x9778('0xf')]['id']:null,_0x1ce5cc[_0x9778('0xf')]?_0x1ce5cc[_0x9778('0xf')]['name']:null,_0x1ce5cc['user']?_0x1ce5cc['user'][_0x9778('0xb')]:null,_0x1ce5cc[_0x9778('0x19')]&&_0x1ce5cc['body'][_0x9778('0x24')]?_0x1ce5cc[_0x9778('0x19')]['device']:_0x9778('0x2a'),_0x1ce5cc['body']&&_0x1ce5cc[_0x9778('0x19')][_0x9778('0x25')]?_0x1ce5cc[_0x9778('0x19')]['agent_id']:'',_0x1ce5cc['body']&&_0x1ce5cc['body'][_0x9778('0x2b')]?_0x1ce5cc[_0x9778('0x19')][_0x9778('0x2b')]:'');},'ignoreRoute':function(_0x379fd1){var _0x1921cc=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x1921cc[_0x9778('0x2c')](_0x379fd1[_0x9778('0x1e')]);}}));return _0x50cd95();});}exports[_0x9778('0x2d')]=setupLoggers;