Built motion from commit 44b1f254.|2.6.26
[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 _0xf91d=['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','url','device','other','lodash','express-winston','path','util','./loggers','./safe-template','./mask-sensitive-data','join','log','client','role','then','user','no-user','data','timestamp','catch','error','auth','client-side-logger','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','body','\x20body=%s','method','headers','x-forwarded-for','connection','remoteAddress','statusCode','responseTime','name','inspect','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s'];(function(_0x292236,_0x2c0f0e){var _0x107e37=function(_0xc99bfc){while(--_0xc99bfc){_0x292236['push'](_0x292236['shift']());}};_0x107e37(++_0x2c0f0e);}(_0xf91d,0x1e6));var _0xdf91=function(_0x40a045,_0x516f0e){_0x40a045=_0x40a045-0x0;var _0x1a687c=_0xf91d[_0x40a045];return _0x1a687c;};var fs=require('fs-extra');var _=require(_0xdf91('0x0'));var ewinston=require(_0xdf91('0x1'));var path=require(_0xdf91('0x2'));var util=require(_0xdf91('0x3'));var fileLogger=require(_0xdf91('0x4'))['fileLogger'];var safeTemplate=require(_0xdf91('0x5'))['safeTemplate'];var maskSensitiveData=require(_0xdf91('0x6'))['maskSensitiveData'];function ClientSideLogger(){function _0x2ba60e(_0x308304){var _0x4a8eb8=path[_0xdf91('0x7')]('/var',_0xdf91('0x8'),'xcally');var _0x43f0ce=path[_0xdf91('0x7')](_0xdf91('0x9'),_0x308304[_0xdf91('0xa')]+'-'+_0x308304['name']);return fs['ensureDir'](path[_0xdf91('0x7')](_0x4a8eb8,_0x43f0ce))[_0xdf91('0xb')](function(){var _0x3d0d5c=fileLogger(_0xdf91('0x9'),path[_0xdf91('0x7')](_0x4a8eb8,_0x43f0ce));return _0x3d0d5c;})['catch'](function(_0x4f72c3){throw _0x4f72c3;});}this[_0xdf91('0x8')]=function(_0x5ce0c0,_0xcd1e74,_0x13ad21,_0x2d254c){return _0x2ba60e(_0x5ce0c0[_0xdf91('0xc')])[_0xdf91('0xb')](function(_0x16cd95){var _0x3ff193=_0x16cd95[_0xcd1e74];return _0x3ff193;})[_0xdf91('0xb')](function(_0x4cde8d){var _0x66d4e9=_0x5ce0c0[_0xdf91('0xc')]?_0x5ce0c0[_0xdf91('0xc')]['id']:_0xdf91('0xd');var _0x2a2d85=_0x2d254c[_0xdf91('0xe')];var _0xc1da14=_0x2d254c[_0xdf91('0xf')];var _0x45413a=new Date(Number(_0xc1da14));return _0x4cde8d(_0x66d4e9,_0x45413a,_0x13ad21,_0x2a2d85);})[_0xdf91('0x10')](function(_0x2ab2a5){fileLogger('client')[_0xdf91('0x11')](_0x2ab2a5);});};}function setupLoggers(_0x3fd188){return new Promise(function(_0x416951){var _0x51c285=new ClientSideLogger();var _0xce00fe=fileLogger('api');var _0x7ca0b7=fileLogger(_0xdf91('0x12'));_0x3fd188['set'](_0xdf91('0x13'),_0x51c285);_0x3fd188['use'](ewinston[_0xdf91('0x14')]({'winstonInstance':_0xce00fe,'meta':![],'statusLevels':!![],'msg':function(_0x399e0a,_0xcb77bb){var _0x3ba07c=_0xdf91('0x15');if(!_['isEmpty'](_0x399e0a[_0xdf91('0x16')])){_0x3ba07c+=_0xdf91('0x17');var _0x87be29=_0x399e0a[_0xdf91('0x16')];maskSensitiveData(_0x87be29);}return safeTemplate(util['format'](_0x3ba07c,_0x399e0a[_0xdf91('0x18')],_0x399e0a[_0xdf91('0x19')]['x-forwarded-for']?_0x399e0a[_0xdf91('0x19')][_0xdf91('0x1a')]:_0x399e0a[_0xdf91('0x1b')][_0xdf91('0x1c')]||_0x399e0a['ip'],_0x399e0a['url'],_0xcb77bb[_0xdf91('0x1d')],_0xcb77bb[_0xdf91('0x1e')],_0x399e0a[_0xdf91('0xc')]?_0x399e0a[_0xdf91('0xc')]['id']:null,_0x399e0a[_0xdf91('0xc')]?_0x399e0a[_0xdf91('0xc')][_0xdf91('0x1f')]:null,_0x399e0a[_0xdf91('0xc')]?_0x399e0a['user']['role']:null,_0x87be29?util[_0xdf91('0x20')](_0x87be29,![],null):''));}}));_0x3fd188['use'](ewinston['logger']({'winstonInstance':_0x7ca0b7,'meta':![],'statusLevels':!![],'msg':function(_0xf1e9db,_0x510545){var _0xc88f18=_0xdf91('0x21');if(_0xf1e9db['body']&&_0xf1e9db[_0xdf91('0x16')]['device']&&_0xf1e9db['body'][_0xdf91('0x22')]){_0xc88f18=_0xdf91('0x23');}return util[_0xdf91('0x24')](_0xc88f18,_0xf1e9db['method'],_0xf1e9db[_0xdf91('0x19')]['x-forwarded-for']?_0xf1e9db[_0xdf91('0x19')][_0xdf91('0x1a')]:_0xf1e9db[_0xdf91('0x1b')][_0xdf91('0x1c')]||_0xf1e9db['ip'],_0xf1e9db[_0xdf91('0x25')],_0x510545[_0xdf91('0x1d')],_0x510545[_0xdf91('0x1e')],_0xf1e9db[_0xdf91('0xc')]?_0xf1e9db[_0xdf91('0xc')]['id']:null,_0xf1e9db[_0xdf91('0xc')]?_0xf1e9db['user'][_0xdf91('0x1f')]:null,_0xf1e9db[_0xdf91('0xc')]?_0xf1e9db[_0xdf91('0xc')]['role']:null,_0xf1e9db[_0xdf91('0x16')]&&_0xf1e9db[_0xdf91('0x16')][_0xdf91('0x26')]?_0xf1e9db[_0xdf91('0x16')][_0xdf91('0x26')]:_0xdf91('0x27'),_0xf1e9db[_0xdf91('0x16')]&&_0xf1e9db[_0xdf91('0x16')]['agent_id']?_0xf1e9db[_0xdf91('0x16')][_0xdf91('0x22')]:'',_0xf1e9db[_0xdf91('0x16')]&&_0xf1e9db['body']['agent_name']?_0xf1e9db[_0xdf91('0x16')]['agent_name']:'');},'ignoreRoute':function(_0x4053e9){var _0x159e74=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x159e74['test'](_0x4053e9[_0xdf91('0x25')]);}}));return _0x416951();});}exports['setupLoggers']=setupLoggers;