Built motion from commit eddce310.|2.6.12
[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 _0xc447=['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)','format','remoteAddress','other','agent_name','test','setupLoggers','fs-extra','lodash','express-winston','path','./loggers','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','log','client','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','method','headers','x-forwarded-for','connection','url','statusCode','responseTime','name','role','inspect','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s'];(function(_0xc4f7c0,_0x3d731b){var _0x479501=function(_0x36a2cd){while(--_0x36a2cd){_0xc4f7c0['push'](_0xc4f7c0['shift']());}};_0x479501(++_0x3d731b);}(_0xc447,0xef));var _0x7c44=function(_0x502686,_0x397b91){_0x502686=_0x502686-0x0;var _0x2d6a56=_0xc447[_0x502686];return _0x2d6a56;};var fs=require(_0x7c44('0x0'));var _=require(_0x7c44('0x1'));var ewinston=require(_0x7c44('0x2'));var path=require(_0x7c44('0x3'));var util=require('util');var fileLogger=require(_0x7c44('0x4'))['fileLogger'];var safeTemplate=require('./safe-template')[_0x7c44('0x5')];var maskSensitiveData=require(_0x7c44('0x6'))[_0x7c44('0x7')];function ClientSideLogger(){function _0x482587(_0x2d757b){var _0x11f84f=path[_0x7c44('0x8')](_0x7c44('0x9'),_0x7c44('0xa'),'xcally');var _0x10d7df=path[_0x7c44('0x8')](_0x7c44('0xb'),_0x2d757b['role']+'-'+_0x2d757b['name']);return fs['ensureDir'](path[_0x7c44('0x8')](_0x11f84f,_0x10d7df))[_0x7c44('0xc')](function(){var _0x209078=fileLogger(_0x7c44('0xb'),path['join'](_0x11f84f,_0x10d7df));return _0x209078;})['catch'](function(_0x507d65){throw _0x507d65;});}this[_0x7c44('0xa')]=function(_0x2411ea,_0x2d9ca1,_0xa4eda9,_0x5f3a66){return _0x482587(_0x2411ea[_0x7c44('0xd')])[_0x7c44('0xc')](function(_0x2281c8){var _0x2c5918=_0x2281c8[_0x2d9ca1];return _0x2c5918;})[_0x7c44('0xc')](function(_0x2954e9){var _0x55c299=_0x2411ea['user']?_0x2411ea['user']['id']:_0x7c44('0xe');var _0x26cd31=_0x5f3a66[_0x7c44('0xf')];var _0x5efa3d=_0x5f3a66[_0x7c44('0x10')];var _0x54d598=new Date(Number(_0x5efa3d));return _0x2954e9(_0x55c299,_0x54d598,_0xa4eda9,_0x26cd31);})[_0x7c44('0x11')](function(_0x49ea1d){fileLogger('client')[_0x7c44('0x12')](_0x49ea1d);});};}function setupLoggers(_0x1852f6){return new Promise(function(_0x521379){var _0xe57fad=new ClientSideLogger();var _0x5ba0c8=fileLogger(_0x7c44('0x13'));var _0x339780=fileLogger('auth');_0x1852f6[_0x7c44('0x14')](_0x7c44('0x15'),_0xe57fad);_0x1852f6['use'](ewinston[_0x7c44('0x16')]({'winstonInstance':_0x5ba0c8,'meta':![],'statusLevels':!![],'msg':function(_0xfec0c0,_0x427816){var _0x2c0019=_0x7c44('0x17');if(!_[_0x7c44('0x18')](_0xfec0c0['body'])){_0x2c0019+='\x20body=%s';var _0x56c7b0=_0xfec0c0[_0x7c44('0x19')];maskSensitiveData(_0x56c7b0);}return safeTemplate(util['format'](_0x2c0019,_0xfec0c0[_0x7c44('0x1a')],_0xfec0c0[_0x7c44('0x1b')][_0x7c44('0x1c')]?_0xfec0c0['headers'][_0x7c44('0x1c')]:_0xfec0c0[_0x7c44('0x1d')]['remoteAddress']||_0xfec0c0['ip'],_0xfec0c0[_0x7c44('0x1e')],_0x427816[_0x7c44('0x1f')],_0x427816[_0x7c44('0x20')],_0xfec0c0['user']?_0xfec0c0[_0x7c44('0xd')]['id']:null,_0xfec0c0[_0x7c44('0xd')]?_0xfec0c0['user'][_0x7c44('0x21')]:null,_0xfec0c0[_0x7c44('0xd')]?_0xfec0c0[_0x7c44('0xd')][_0x7c44('0x22')]:null,_0x56c7b0?util[_0x7c44('0x23')](_0x56c7b0,![],null):''));}}));_0x1852f6['use'](ewinston['logger']({'winstonInstance':_0x339780,'meta':![],'statusLevels':!![],'msg':function(_0x2b1504,_0x2c92d8){var _0x4e1a89=_0x7c44('0x24');if(_0x2b1504[_0x7c44('0x19')]&&_0x2b1504[_0x7c44('0x19')][_0x7c44('0x25')]&&_0x2b1504[_0x7c44('0x19')][_0x7c44('0x26')]){_0x4e1a89=_0x7c44('0x27');}return util[_0x7c44('0x28')](_0x4e1a89,_0x2b1504['method'],_0x2b1504['headers'][_0x7c44('0x1c')]?_0x2b1504[_0x7c44('0x1b')][_0x7c44('0x1c')]:_0x2b1504['connection'][_0x7c44('0x29')]||_0x2b1504['ip'],_0x2b1504[_0x7c44('0x1e')],_0x2c92d8['statusCode'],_0x2c92d8[_0x7c44('0x20')],_0x2b1504['user']?_0x2b1504[_0x7c44('0xd')]['id']:null,_0x2b1504['user']?_0x2b1504[_0x7c44('0xd')][_0x7c44('0x21')]:null,_0x2b1504[_0x7c44('0xd')]?_0x2b1504[_0x7c44('0xd')][_0x7c44('0x22')]:null,_0x2b1504[_0x7c44('0x19')]&&_0x2b1504[_0x7c44('0x19')][_0x7c44('0x25')]?_0x2b1504[_0x7c44('0x19')][_0x7c44('0x25')]:_0x7c44('0x2a'),_0x2b1504[_0x7c44('0x19')]&&_0x2b1504[_0x7c44('0x19')][_0x7c44('0x26')]?_0x2b1504['body'][_0x7c44('0x26')]:'',_0x2b1504[_0x7c44('0x19')]&&_0x2b1504[_0x7c44('0x19')][_0x7c44('0x2b')]?_0x2b1504[_0x7c44('0x19')][_0x7c44('0x2b')]:'');},'ignoreRoute':function(_0x3f4ff2){var _0x36b329=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x36b329[_0x7c44('0x2c')](_0x3f4ff2[_0x7c44('0x1e')]);}}));return _0x521379();});}exports[_0x7c44('0x2d')]=setupLoggers;