Built motion from commit b0a9a629.|2.6.33
[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 _0x0977=['format','headers','x-forwarded-for','connection','remoteAddress','url','responseTime','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','body','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','test','setupLoggers','fs-extra','util','./loggers','fileLogger','./safe-template','safeTemplate','maskSensitiveData','join','/var','log','client','role','name','then','catch','user','timestamp','api','auth','set','use','logger','isEmpty','\x20body=%s'];(function(_0x2c254b,_0xa6e203){var _0x131d22=function(_0x38ff62){while(--_0x38ff62){_0x2c254b['push'](_0x2c254b['shift']());}};_0x131d22(++_0xa6e203);}(_0x0977,0x88));var _0x7097=function(_0x3ab51d,_0x2fa01d){_0x3ab51d=_0x3ab51d-0x0;var _0x29a04e=_0x0977[_0x3ab51d];return _0x29a04e;};var fs=require(_0x7097('0x0'));var _=require('lodash');var ewinston=require('express-winston');var path=require('path');var util=require(_0x7097('0x1'));var fileLogger=require(_0x7097('0x2'))[_0x7097('0x3')];var safeTemplate=require(_0x7097('0x4'))[_0x7097('0x5')];var maskSensitiveData=require('./mask-sensitive-data')[_0x7097('0x6')];function ClientSideLogger(){function _0x297dfd(_0x13445f){var _0x114f8e=path[_0x7097('0x7')](_0x7097('0x8'),_0x7097('0x9'),'xcally');var _0x80dbb2=path['join'](_0x7097('0xa'),_0x13445f[_0x7097('0xb')]+'-'+_0x13445f[_0x7097('0xc')]);return fs['ensureDir'](path[_0x7097('0x7')](_0x114f8e,_0x80dbb2))[_0x7097('0xd')](function(){var _0x212e47=fileLogger(_0x7097('0xa'),path[_0x7097('0x7')](_0x114f8e,_0x80dbb2));return _0x212e47;})[_0x7097('0xe')](function(_0x5b02c4){throw _0x5b02c4;});}this[_0x7097('0x9')]=function(_0x5edd4e,_0x2c4e6f,_0x4ea8f4,_0x35c82f){return _0x297dfd(_0x5edd4e[_0x7097('0xf')])[_0x7097('0xd')](function(_0x5cf7b7){var _0x2040aa=_0x5cf7b7[_0x2c4e6f];return _0x2040aa;})['then'](function(_0x26c1f9){var _0x29c6f4=_0x5edd4e[_0x7097('0xf')]?_0x5edd4e[_0x7097('0xf')]['id']:'no-user';var _0x22856d=_0x35c82f['data'];var _0x2397ec=_0x35c82f[_0x7097('0x10')];var _0x417fc4=new Date(Number(_0x2397ec));return _0x26c1f9(_0x29c6f4,_0x417fc4,_0x4ea8f4,_0x22856d);})[_0x7097('0xe')](function(_0xcc3f3){fileLogger(_0x7097('0xa'))['error'](_0xcc3f3);});};}function setupLoggers(_0x43d8ca){return new Promise(function(_0x4b385b){var _0x1c4d9e=new ClientSideLogger();var _0x485432=fileLogger(_0x7097('0x11'));var _0x4749b2=fileLogger(_0x7097('0x12'));_0x43d8ca[_0x7097('0x13')]('client-side-logger',_0x1c4d9e);_0x43d8ca[_0x7097('0x14')](ewinston[_0x7097('0x15')]({'winstonInstance':_0x485432,'meta':![],'statusLevels':!![],'msg':function(_0x436e7f,_0x1376e2){var _0x18656f='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_[_0x7097('0x16')](_0x436e7f['body'])){_0x18656f+=_0x7097('0x17');var _0x53e2cf=_0x436e7f['body'];maskSensitiveData(_0x53e2cf);}return safeTemplate(util[_0x7097('0x18')](_0x18656f,_0x436e7f['method'],_0x436e7f[_0x7097('0x19')][_0x7097('0x1a')]?_0x436e7f[_0x7097('0x19')][_0x7097('0x1a')]:_0x436e7f[_0x7097('0x1b')][_0x7097('0x1c')]||_0x436e7f['ip'],_0x436e7f[_0x7097('0x1d')],_0x1376e2['statusCode'],_0x1376e2[_0x7097('0x1e')],_0x436e7f[_0x7097('0xf')]?_0x436e7f[_0x7097('0xf')]['id']:null,_0x436e7f[_0x7097('0xf')]?_0x436e7f[_0x7097('0xf')][_0x7097('0xc')]:null,_0x436e7f[_0x7097('0xf')]?_0x436e7f[_0x7097('0xf')][_0x7097('0xb')]:null,_0x53e2cf?util['inspect'](_0x53e2cf,![],null):''));}}));_0x43d8ca[_0x7097('0x14')](ewinston[_0x7097('0x15')]({'winstonInstance':_0x4749b2,'meta':![],'statusLevels':!![],'msg':function(_0x4838cd,_0x4d7f74){var _0x36137b=_0x7097('0x1f');if(_0x4838cd[_0x7097('0x20')]&&_0x4838cd['body'][_0x7097('0x21')]&&_0x4838cd['body'][_0x7097('0x22')]){_0x36137b=_0x7097('0x23');}return util[_0x7097('0x18')](_0x36137b,_0x4838cd['method'],_0x4838cd[_0x7097('0x19')][_0x7097('0x1a')]?_0x4838cd[_0x7097('0x19')]['x-forwarded-for']:_0x4838cd[_0x7097('0x1b')][_0x7097('0x1c')]||_0x4838cd['ip'],_0x4838cd[_0x7097('0x1d')],_0x4d7f74['statusCode'],_0x4d7f74[_0x7097('0x1e')],_0x4838cd['user']?_0x4838cd[_0x7097('0xf')]['id']:null,_0x4838cd[_0x7097('0xf')]?_0x4838cd['user']['name']:null,_0x4838cd[_0x7097('0xf')]?_0x4838cd[_0x7097('0xf')][_0x7097('0xb')]:null,_0x4838cd['body']&&_0x4838cd[_0x7097('0x20')]['device']?_0x4838cd['body'][_0x7097('0x21')]:_0x7097('0x24'),_0x4838cd[_0x7097('0x20')]&&_0x4838cd[_0x7097('0x20')][_0x7097('0x22')]?_0x4838cd[_0x7097('0x20')][_0x7097('0x22')]:'',_0x4838cd[_0x7097('0x20')]&&_0x4838cd[_0x7097('0x20')][_0x7097('0x25')]?_0x4838cd[_0x7097('0x20')][_0x7097('0x25')]:'');},'ignoreRoute':function(_0x1cfa33){var _0x22fd06=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x22fd06[_0x7097('0x26')](_0x1cfa33['url']);}}));return _0x4b385b();});}exports[_0x7097('0x27')]=setupLoggers;