Built motion from commit ffdca78c.|2.6.24
[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 _0x6773=['timestamp','api','auth','client-side-logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','\x20body=%s','method','headers','x-forwarded-for','remoteAddress','url','statusCode','responseTime','inspect','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','format','connection','device','other','agent_id','agent_name','setupLoggers','fs-extra','lodash','express-winston','path','util','./loggers','fileLogger','safeTemplate','maskSensitiveData','join','/var','log','client','role','name','ensureDir','then','catch','user','no-user','data'];(function(_0x40321a,_0x2ae5c6){var _0x121f3c=function(_0x1532c0){while(--_0x1532c0){_0x40321a['push'](_0x40321a['shift']());}};_0x121f3c(++_0x2ae5c6);}(_0x6773,0xd1));var _0x3677=function(_0x15ee41,_0x9275d8){_0x15ee41=_0x15ee41-0x0;var _0x2b2846=_0x6773[_0x15ee41];return _0x2b2846;};var fs=require(_0x3677('0x0'));var _=require(_0x3677('0x1'));var ewinston=require(_0x3677('0x2'));var path=require(_0x3677('0x3'));var util=require(_0x3677('0x4'));var fileLogger=require(_0x3677('0x5'))[_0x3677('0x6')];var safeTemplate=require('./safe-template')[_0x3677('0x7')];var maskSensitiveData=require('./mask-sensitive-data')[_0x3677('0x8')];function ClientSideLogger(){function _0x4323bc(_0x5d826e){var _0x2ed8ba=path[_0x3677('0x9')](_0x3677('0xa'),_0x3677('0xb'),'xcally');var _0xf3aad6=path[_0x3677('0x9')](_0x3677('0xc'),_0x5d826e[_0x3677('0xd')]+'-'+_0x5d826e[_0x3677('0xe')]);return fs[_0x3677('0xf')](path[_0x3677('0x9')](_0x2ed8ba,_0xf3aad6))[_0x3677('0x10')](function(){var _0x49151b=fileLogger(_0x3677('0xc'),path[_0x3677('0x9')](_0x2ed8ba,_0xf3aad6));return _0x49151b;})[_0x3677('0x11')](function(_0x466d42){throw _0x466d42;});}this[_0x3677('0xb')]=function(_0x901500,_0x4aed1b,_0x50f070,_0x1d42f6){return _0x4323bc(_0x901500[_0x3677('0x12')])[_0x3677('0x10')](function(_0x4e34f4){var _0x332974=_0x4e34f4[_0x4aed1b];return _0x332974;})['then'](function(_0xab78d1){var _0xf4d2e1=_0x901500[_0x3677('0x12')]?_0x901500['user']['id']:_0x3677('0x13');var _0x4c9c3d=_0x1d42f6[_0x3677('0x14')];var _0x3f7dc7=_0x1d42f6[_0x3677('0x15')];var _0x1f569c=new Date(Number(_0x3f7dc7));return _0xab78d1(_0xf4d2e1,_0x1f569c,_0x50f070,_0x4c9c3d);})[_0x3677('0x11')](function(_0x56d34c){fileLogger('client')['error'](_0x56d34c);});};}function setupLoggers(_0x4727e5){return new Promise(function(_0x1924aa){var _0x2b0f4f=new ClientSideLogger();var _0x29c547=fileLogger(_0x3677('0x16'));var _0x5038f9=fileLogger(_0x3677('0x17'));_0x4727e5['set'](_0x3677('0x18'),_0x2b0f4f);_0x4727e5['use'](ewinston['logger']({'winstonInstance':_0x29c547,'meta':![],'statusLevels':!![],'msg':function(_0x5c1a27,_0x571967){var _0x319995=_0x3677('0x19');if(!_[_0x3677('0x1a')](_0x5c1a27[_0x3677('0x1b')])){_0x319995+=_0x3677('0x1c');var _0x46e222=_0x5c1a27[_0x3677('0x1b')];maskSensitiveData(_0x46e222);}return safeTemplate(util['format'](_0x319995,_0x5c1a27[_0x3677('0x1d')],_0x5c1a27[_0x3677('0x1e')][_0x3677('0x1f')]?_0x5c1a27[_0x3677('0x1e')][_0x3677('0x1f')]:_0x5c1a27['connection'][_0x3677('0x20')]||_0x5c1a27['ip'],_0x5c1a27[_0x3677('0x21')],_0x571967[_0x3677('0x22')],_0x571967[_0x3677('0x23')],_0x5c1a27[_0x3677('0x12')]?_0x5c1a27['user']['id']:null,_0x5c1a27[_0x3677('0x12')]?_0x5c1a27[_0x3677('0x12')][_0x3677('0xe')]:null,_0x5c1a27[_0x3677('0x12')]?_0x5c1a27['user'][_0x3677('0xd')]:null,_0x46e222?util[_0x3677('0x24')](_0x46e222,![],null):''));}}));_0x4727e5['use'](ewinston[_0x3677('0x25')]({'winstonInstance':_0x5038f9,'meta':![],'statusLevels':!![],'msg':function(_0xf3fb87,_0x294ead){var _0x4d95a0=_0x3677('0x26');if(_0xf3fb87[_0x3677('0x1b')]&&_0xf3fb87[_0x3677('0x1b')]['device']&&_0xf3fb87['body']['agent_id']){_0x4d95a0='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util[_0x3677('0x27')](_0x4d95a0,_0xf3fb87[_0x3677('0x1d')],_0xf3fb87[_0x3677('0x1e')]['x-forwarded-for']?_0xf3fb87[_0x3677('0x1e')][_0x3677('0x1f')]:_0xf3fb87[_0x3677('0x28')][_0x3677('0x20')]||_0xf3fb87['ip'],_0xf3fb87['url'],_0x294ead[_0x3677('0x22')],_0x294ead[_0x3677('0x23')],_0xf3fb87[_0x3677('0x12')]?_0xf3fb87[_0x3677('0x12')]['id']:null,_0xf3fb87[_0x3677('0x12')]?_0xf3fb87[_0x3677('0x12')]['name']:null,_0xf3fb87['user']?_0xf3fb87[_0x3677('0x12')][_0x3677('0xd')]:null,_0xf3fb87[_0x3677('0x1b')]&&_0xf3fb87[_0x3677('0x1b')]['device']?_0xf3fb87[_0x3677('0x1b')][_0x3677('0x29')]:_0x3677('0x2a'),_0xf3fb87[_0x3677('0x1b')]&&_0xf3fb87[_0x3677('0x1b')][_0x3677('0x2b')]?_0xf3fb87[_0x3677('0x1b')]['agent_id']:'',_0xf3fb87['body']&&_0xf3fb87[_0x3677('0x1b')]['agent_name']?_0xf3fb87[_0x3677('0x1b')][_0x3677('0x2c')]:'');},'ignoreRoute':function(_0x2d20df){var _0x191c67=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x191c67['test'](_0x2d20df['url']);}}));return _0x1924aa();});}exports[_0x3677('0x2d')]=setupLoggers;