Built motion from commit da617fac.|2.6.6
[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 _0xfd88=['use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','format','headers','x-forwarded-for','connection','remoteAddress','url','statusCode','responseTime','inspect','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','setupLoggers','fs-extra','lodash','express-winston','path','fileLogger','./safe-template','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','log','xcally','role','name','then','catch','user','timestamp','client','error','api','set'];(function(_0x147fe3,_0x20fa03){var _0x49efa2=function(_0x33baf0){while(--_0x33baf0){_0x147fe3['push'](_0x147fe3['shift']());}};_0x49efa2(++_0x20fa03);}(_0xfd88,0x1c2));var _0x8fd8=function(_0x435044,_0x36ab8e){_0x435044=_0x435044-0x0;var _0x33d4c6=_0xfd88[_0x435044];return _0x33d4c6;};var fs=require(_0x8fd8('0x0'));var _=require(_0x8fd8('0x1'));var ewinston=require(_0x8fd8('0x2'));var path=require(_0x8fd8('0x3'));var util=require('util');var fileLogger=require('./loggers')[_0x8fd8('0x4')];var safeTemplate=require(_0x8fd8('0x5'))[_0x8fd8('0x6')];var maskSensitiveData=require(_0x8fd8('0x7'))[_0x8fd8('0x8')];function ClientSideLogger(){function _0x38333b(_0x25fec7){var _0x5045e8=path[_0x8fd8('0x9')](_0x8fd8('0xa'),_0x8fd8('0xb'),_0x8fd8('0xc'));var _0xec5426=path[_0x8fd8('0x9')]('client',_0x25fec7[_0x8fd8('0xd')]+'-'+_0x25fec7[_0x8fd8('0xe')]);return fs['ensureDir'](path[_0x8fd8('0x9')](_0x5045e8,_0xec5426))[_0x8fd8('0xf')](function(){var _0x3bdd98=fileLogger('client',path[_0x8fd8('0x9')](_0x5045e8,_0xec5426));return _0x3bdd98;})[_0x8fd8('0x10')](function(_0x213846){throw _0x213846;});}this[_0x8fd8('0xb')]=function(_0x51785e,_0x4d7be9,_0x103154,_0x1a9bd6){return _0x38333b(_0x51785e[_0x8fd8('0x11')])[_0x8fd8('0xf')](function(_0x519319){var _0x5141c3=_0x519319[_0x4d7be9];return _0x5141c3;})[_0x8fd8('0xf')](function(_0x10aa84){var _0x5e01aa=_0x51785e[_0x8fd8('0x11')]?_0x51785e[_0x8fd8('0x11')]['id']:'no-user';var _0x21f5b4=_0x1a9bd6['data'];var _0x1d98aa=_0x1a9bd6[_0x8fd8('0x12')];var _0x63e7e9=new Date(Number(_0x1d98aa));return _0x10aa84(_0x5e01aa,_0x63e7e9,_0x103154,_0x21f5b4);})['catch'](function(_0x1c2ba9){fileLogger(_0x8fd8('0x13'))[_0x8fd8('0x14')](_0x1c2ba9);});};}function setupLoggers(_0x39bfe0){return new Promise(function(_0x13bfaf){var _0x41ad2e=new ClientSideLogger();var _0x514017=fileLogger(_0x8fd8('0x15'));var _0x54ede0=fileLogger('auth');_0x39bfe0[_0x8fd8('0x16')]('client-side-logger',_0x41ad2e);_0x39bfe0[_0x8fd8('0x17')](ewinston[_0x8fd8('0x18')]({'winstonInstance':_0x514017,'meta':![],'statusLevels':!![],'msg':function(_0x22a29c,_0x2f5e7c){var _0xece660=_0x8fd8('0x19');if(!_[_0x8fd8('0x1a')](_0x22a29c[_0x8fd8('0x1b')])){_0xece660+='\x20body=%s';var _0x467192=_0x22a29c[_0x8fd8('0x1b')];maskSensitiveData(_0x467192);}return safeTemplate(util[_0x8fd8('0x1c')](_0xece660,_0x22a29c['method'],_0x22a29c[_0x8fd8('0x1d')]['x-forwarded-for']?_0x22a29c[_0x8fd8('0x1d')][_0x8fd8('0x1e')]:_0x22a29c[_0x8fd8('0x1f')][_0x8fd8('0x20')]||_0x22a29c['ip'],_0x22a29c[_0x8fd8('0x21')],_0x2f5e7c[_0x8fd8('0x22')],_0x2f5e7c[_0x8fd8('0x23')],_0x22a29c[_0x8fd8('0x11')]?_0x22a29c[_0x8fd8('0x11')]['id']:null,_0x22a29c[_0x8fd8('0x11')]?_0x22a29c[_0x8fd8('0x11')][_0x8fd8('0xe')]:null,_0x22a29c['user']?_0x22a29c[_0x8fd8('0x11')][_0x8fd8('0xd')]:null,_0x467192?util[_0x8fd8('0x24')](_0x467192,![],null):''));}}));_0x39bfe0[_0x8fd8('0x17')](ewinston[_0x8fd8('0x18')]({'winstonInstance':_0x54ede0,'meta':![],'statusLevels':!![],'msg':function(_0xc40acb,_0x5257d4){var _0x3a45b9='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s';if(_0xc40acb[_0x8fd8('0x1b')]&&_0xc40acb[_0x8fd8('0x1b')][_0x8fd8('0x25')]&&_0xc40acb[_0x8fd8('0x1b')][_0x8fd8('0x26')]){_0x3a45b9=_0x8fd8('0x27');}return util[_0x8fd8('0x1c')](_0x3a45b9,_0xc40acb['method'],_0xc40acb[_0x8fd8('0x1d')][_0x8fd8('0x1e')]?_0xc40acb[_0x8fd8('0x1d')][_0x8fd8('0x1e')]:_0xc40acb[_0x8fd8('0x1f')][_0x8fd8('0x20')]||_0xc40acb['ip'],_0xc40acb['url'],_0x5257d4['statusCode'],_0x5257d4[_0x8fd8('0x23')],_0xc40acb['user']?_0xc40acb[_0x8fd8('0x11')]['id']:null,_0xc40acb[_0x8fd8('0x11')]?_0xc40acb['user'][_0x8fd8('0xe')]:null,_0xc40acb['user']?_0xc40acb[_0x8fd8('0x11')]['role']:null,_0xc40acb[_0x8fd8('0x1b')]&&_0xc40acb[_0x8fd8('0x1b')][_0x8fd8('0x25')]?_0xc40acb[_0x8fd8('0x1b')][_0x8fd8('0x25')]:_0x8fd8('0x28'),_0xc40acb['body']&&_0xc40acb[_0x8fd8('0x1b')][_0x8fd8('0x26')]?_0xc40acb['body'][_0x8fd8('0x26')]:'',_0xc40acb[_0x8fd8('0x1b')]&&_0xc40acb['body'][_0x8fd8('0x29')]?_0xc40acb[_0x8fd8('0x1b')][_0x8fd8('0x29')]:'');},'ignoreRoute':function(_0x3c627a){var _0x2b1056=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x2b1056['test'](_0x3c627a[_0x8fd8('0x21')]);}}));return _0x13bfaf();});}exports[_0x8fd8('0x2a')]=setupLoggers;