Built motion from commit d301b742.|2.6.29
[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 _0x6fb4=['safeTemplate','./mask-sensitive-data','maskSensitiveData','join','log','xcally','client','role','ensureDir','then','catch','user','no-user','data','api','set','use','logger','body','format','method','headers','x-forwarded-for','connection','remoteAddress','url','statusCode','name','%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)','responseTime','other','agent_name','test','setupLoggers','lodash','path','util','fileLogger','./safe-template'];(function(_0x35dcb3,_0x468f08){var _0xd36d40=function(_0x2fb354){while(--_0x2fb354){_0x35dcb3['push'](_0x35dcb3['shift']());}};_0xd36d40(++_0x468f08);}(_0x6fb4,0x1c9));var _0x46fb=function(_0x4e43ef,_0x562956){_0x4e43ef=_0x4e43ef-0x0;var _0x540dd8=_0x6fb4[_0x4e43ef];return _0x540dd8;};var fs=require('fs-extra');var _=require(_0x46fb('0x0'));var ewinston=require('express-winston');var path=require(_0x46fb('0x1'));var util=require(_0x46fb('0x2'));var fileLogger=require('./loggers')[_0x46fb('0x3')];var safeTemplate=require(_0x46fb('0x4'))[_0x46fb('0x5')];var maskSensitiveData=require(_0x46fb('0x6'))[_0x46fb('0x7')];function ClientSideLogger(){function _0x3cd33c(_0x487103){var _0x4bd710=path[_0x46fb('0x8')]('/var',_0x46fb('0x9'),_0x46fb('0xa'));var _0x366caa=path['join'](_0x46fb('0xb'),_0x487103[_0x46fb('0xc')]+'-'+_0x487103['name']);return fs[_0x46fb('0xd')](path[_0x46fb('0x8')](_0x4bd710,_0x366caa))[_0x46fb('0xe')](function(){var _0x5e028b=fileLogger(_0x46fb('0xb'),path[_0x46fb('0x8')](_0x4bd710,_0x366caa));return _0x5e028b;})[_0x46fb('0xf')](function(_0x4121da){throw _0x4121da;});}this[_0x46fb('0x9')]=function(_0x15a42a,_0x1b32c6,_0x56e99b,_0x68051f){return _0x3cd33c(_0x15a42a[_0x46fb('0x10')])[_0x46fb('0xe')](function(_0x15dd4c){var _0x3a5e23=_0x15dd4c[_0x1b32c6];return _0x3a5e23;})[_0x46fb('0xe')](function(_0x32e7b4){var _0x2e67fb=_0x15a42a[_0x46fb('0x10')]?_0x15a42a['user']['id']:_0x46fb('0x11');var _0x4cf44d=_0x68051f[_0x46fb('0x12')];var _0x35b91d=_0x68051f['timestamp'];var _0x1e629d=new Date(Number(_0x35b91d));return _0x32e7b4(_0x2e67fb,_0x1e629d,_0x56e99b,_0x4cf44d);})['catch'](function(_0x543aee){fileLogger(_0x46fb('0xb'))['error'](_0x543aee);});};}function setupLoggers(_0x1bef4b){return new Promise(function(_0x475c09){var _0xac6fc6=new ClientSideLogger();var _0x59d5c4=fileLogger(_0x46fb('0x13'));var _0xb167b7=fileLogger('auth');_0x1bef4b[_0x46fb('0x14')]('client-side-logger',_0xac6fc6);_0x1bef4b[_0x46fb('0x15')](ewinston[_0x46fb('0x16')]({'winstonInstance':_0x59d5c4,'meta':![],'statusLevels':!![],'msg':function(_0x297d8c,_0xc30247){var _0x130392='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_['isEmpty'](_0x297d8c['body'])){_0x130392+='\x20body=%s';var _0x1fa73e=_0x297d8c[_0x46fb('0x17')];maskSensitiveData(_0x1fa73e);}return safeTemplate(util[_0x46fb('0x18')](_0x130392,_0x297d8c[_0x46fb('0x19')],_0x297d8c[_0x46fb('0x1a')][_0x46fb('0x1b')]?_0x297d8c[_0x46fb('0x1a')]['x-forwarded-for']:_0x297d8c[_0x46fb('0x1c')][_0x46fb('0x1d')]||_0x297d8c['ip'],_0x297d8c[_0x46fb('0x1e')],_0xc30247[_0x46fb('0x1f')],_0xc30247['responseTime'],_0x297d8c[_0x46fb('0x10')]?_0x297d8c[_0x46fb('0x10')]['id']:null,_0x297d8c[_0x46fb('0x10')]?_0x297d8c[_0x46fb('0x10')][_0x46fb('0x20')]:null,_0x297d8c[_0x46fb('0x10')]?_0x297d8c[_0x46fb('0x10')][_0x46fb('0xc')]:null,_0x1fa73e?util['inspect'](_0x1fa73e,![],null):''));}}));_0x1bef4b['use'](ewinston[_0x46fb('0x16')]({'winstonInstance':_0xb167b7,'meta':![],'statusLevels':!![],'msg':function(_0x2185d3,_0x19338f){var _0x1454b8=_0x46fb('0x21');if(_0x2185d3[_0x46fb('0x17')]&&_0x2185d3[_0x46fb('0x17')][_0x46fb('0x22')]&&_0x2185d3[_0x46fb('0x17')][_0x46fb('0x23')]){_0x1454b8=_0x46fb('0x24');}return util[_0x46fb('0x18')](_0x1454b8,_0x2185d3['method'],_0x2185d3[_0x46fb('0x1a')][_0x46fb('0x1b')]?_0x2185d3[_0x46fb('0x1a')][_0x46fb('0x1b')]:_0x2185d3[_0x46fb('0x1c')][_0x46fb('0x1d')]||_0x2185d3['ip'],_0x2185d3[_0x46fb('0x1e')],_0x19338f[_0x46fb('0x1f')],_0x19338f[_0x46fb('0x25')],_0x2185d3[_0x46fb('0x10')]?_0x2185d3[_0x46fb('0x10')]['id']:null,_0x2185d3[_0x46fb('0x10')]?_0x2185d3[_0x46fb('0x10')][_0x46fb('0x20')]:null,_0x2185d3['user']?_0x2185d3[_0x46fb('0x10')][_0x46fb('0xc')]:null,_0x2185d3[_0x46fb('0x17')]&&_0x2185d3['body']['device']?_0x2185d3[_0x46fb('0x17')][_0x46fb('0x22')]:_0x46fb('0x26'),_0x2185d3[_0x46fb('0x17')]&&_0x2185d3[_0x46fb('0x17')][_0x46fb('0x23')]?_0x2185d3[_0x46fb('0x17')][_0x46fb('0x23')]:'',_0x2185d3['body']&&_0x2185d3['body'][_0x46fb('0x27')]?_0x2185d3[_0x46fb('0x17')][_0x46fb('0x27')]:'');},'ignoreRoute':function(_0x38618f){var _0x3fac38=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x3fac38[_0x46fb('0x28')](_0x38618f[_0x46fb('0x1e')]);}}));return _0x475c09();});}exports[_0x46fb('0x29')]=setupLoggers;