dd1b5be45764f9b070b574a93f1354075869ea78
[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 _0xaf04=['test','setupLoggers','fs-extra','lodash','express-winston','util','./loggers','fileLogger','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','xcally','client','ensureDir','then','user','no-user','data','timestamp','catch','error','api','set','client-side-logger','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','format','method','headers','x-forwarded-for','connection','remoteAddress','url','statusCode','responseTime','name','role','inspect','device','agent_id','other','agent_name'];(function(_0x56e657,_0x4e5305){var _0x497f81=function(_0x14136f){while(--_0x14136f){_0x56e657['push'](_0x56e657['shift']());}};_0x497f81(++_0x4e5305);}(_0xaf04,0x197));var _0x4af0=function(_0x3be192,_0x3dc5b6){_0x3be192=_0x3be192-0x0;var _0x2873a6=_0xaf04[_0x3be192];return _0x2873a6;};var fs=require(_0x4af0('0x0'));var _=require(_0x4af0('0x1'));var ewinston=require(_0x4af0('0x2'));var path=require('path');var util=require(_0x4af0('0x3'));var fileLogger=require(_0x4af0('0x4'))[_0x4af0('0x5')];var safeTemplate=require('./safe-template')[_0x4af0('0x6')];var maskSensitiveData=require(_0x4af0('0x7'))[_0x4af0('0x8')];function ClientSideLogger(){function _0x1bf93e(_0x292c21){var _0x2a5cf9=path[_0x4af0('0x9')]('/var','log',_0x4af0('0xa'));var _0x1eaad3=path[_0x4af0('0x9')](_0x4af0('0xb'),_0x292c21['role']+'-'+_0x292c21['name']);return fs[_0x4af0('0xc')](path[_0x4af0('0x9')](_0x2a5cf9,_0x1eaad3))[_0x4af0('0xd')](function(){var _0x35ee0b=fileLogger(_0x4af0('0xb'),path[_0x4af0('0x9')](_0x2a5cf9,_0x1eaad3));return _0x35ee0b;})['catch'](function(_0x28446b){throw _0x28446b;});}this['log']=function(_0x357d98,_0x560fe7,_0x329ba0,_0x367494){return _0x1bf93e(_0x357d98[_0x4af0('0xe')])[_0x4af0('0xd')](function(_0x1e28b1){var _0x4b962a=_0x1e28b1[_0x560fe7];return _0x4b962a;})[_0x4af0('0xd')](function(_0x3a5b05){var _0x64e6c2=_0x357d98[_0x4af0('0xe')]?_0x357d98[_0x4af0('0xe')]['id']:_0x4af0('0xf');var _0x201679=_0x367494[_0x4af0('0x10')];var _0x31b01c=_0x367494[_0x4af0('0x11')];var _0x14f82e=new Date(Number(_0x31b01c));return _0x3a5b05(_0x64e6c2,_0x14f82e,_0x329ba0,_0x201679);})[_0x4af0('0x12')](function(_0x2f0023){fileLogger(_0x4af0('0xb'))[_0x4af0('0x13')](_0x2f0023);});};}function setupLoggers(_0x48800a){return new Promise(function(_0x232ef6){var _0xa084f7=new ClientSideLogger();var _0x2479d4=fileLogger(_0x4af0('0x14'));var _0x5ae640=fileLogger('auth');_0x48800a[_0x4af0('0x15')](_0x4af0('0x16'),_0xa084f7);_0x48800a['use'](ewinston[_0x4af0('0x17')]({'winstonInstance':_0x2479d4,'meta':![],'statusLevels':!![],'msg':function(_0x186f2d,_0x22d0f0){var _0x41fd45=_0x4af0('0x18');if(!_[_0x4af0('0x19')](_0x186f2d[_0x4af0('0x1a')])){_0x41fd45+='\x20body=%s';var _0x85b655=_0x186f2d['body'];maskSensitiveData(_0x85b655);}return safeTemplate(util[_0x4af0('0x1b')](_0x41fd45,_0x186f2d[_0x4af0('0x1c')],_0x186f2d[_0x4af0('0x1d')][_0x4af0('0x1e')]?_0x186f2d[_0x4af0('0x1d')][_0x4af0('0x1e')]:_0x186f2d[_0x4af0('0x1f')][_0x4af0('0x20')]||_0x186f2d['ip'],_0x186f2d[_0x4af0('0x21')],_0x22d0f0[_0x4af0('0x22')],_0x22d0f0[_0x4af0('0x23')],_0x186f2d[_0x4af0('0xe')]?_0x186f2d[_0x4af0('0xe')]['id']:null,_0x186f2d['user']?_0x186f2d[_0x4af0('0xe')][_0x4af0('0x24')]:null,_0x186f2d[_0x4af0('0xe')]?_0x186f2d[_0x4af0('0xe')][_0x4af0('0x25')]:null,_0x85b655?util[_0x4af0('0x26')](_0x85b655,![],null):''));}}));_0x48800a['use'](ewinston['logger']({'winstonInstance':_0x5ae640,'meta':![],'statusLevels':!![],'msg':function(_0x10d7be,_0x38470f){var _0x2a87e8='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s';if(_0x10d7be['body']&&_0x10d7be[_0x4af0('0x1a')][_0x4af0('0x27')]&&_0x10d7be[_0x4af0('0x1a')][_0x4af0('0x28')]){_0x2a87e8='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util['format'](_0x2a87e8,_0x10d7be[_0x4af0('0x1c')],_0x10d7be[_0x4af0('0x1d')]['x-forwarded-for']?_0x10d7be[_0x4af0('0x1d')]['x-forwarded-for']:_0x10d7be[_0x4af0('0x1f')][_0x4af0('0x20')]||_0x10d7be['ip'],_0x10d7be[_0x4af0('0x21')],_0x38470f[_0x4af0('0x22')],_0x38470f['responseTime'],_0x10d7be[_0x4af0('0xe')]?_0x10d7be[_0x4af0('0xe')]['id']:null,_0x10d7be[_0x4af0('0xe')]?_0x10d7be[_0x4af0('0xe')]['name']:null,_0x10d7be['user']?_0x10d7be[_0x4af0('0xe')]['role']:null,_0x10d7be['body']&&_0x10d7be[_0x4af0('0x1a')][_0x4af0('0x27')]?_0x10d7be[_0x4af0('0x1a')][_0x4af0('0x27')]:_0x4af0('0x29'),_0x10d7be[_0x4af0('0x1a')]&&_0x10d7be[_0x4af0('0x1a')][_0x4af0('0x28')]?_0x10d7be['body'][_0x4af0('0x28')]:'',_0x10d7be[_0x4af0('0x1a')]&&_0x10d7be['body'][_0x4af0('0x2a')]?_0x10d7be[_0x4af0('0x1a')]['agent_name']:'');},'ignoreRoute':function(_0x5a4ca3){var _0x4b44c9=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x4b44c9[_0x4af0('0x2b')](_0x5a4ca3[_0x4af0('0x21')]);}}));return _0x232ef6();});}exports[_0x4af0('0x2c')]=setupLoggers;