Built motion from commit c116dc8b.|2.6.30
[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 _0x4494=['ensureDir','then','catch','user','no-user','data','client','error','auth','set','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','\x20body=%s','format','method','headers','x-forwarded-for','connection','remoteAddress','responseTime','inspect','%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)','other','test','setupLoggers','fs-extra','lodash','express-winston','path','./loggers','fileLogger','./safe-template','safeTemplate','./mask-sensitive-data','join','/var','log','xcally','role','name'];(function(_0xf00aa4,_0x4a13e5){var _0x15cb90=function(_0x4bdcdc){while(--_0x4bdcdc){_0xf00aa4['push'](_0xf00aa4['shift']());}};_0x15cb90(++_0x4a13e5);}(_0x4494,0x159));var _0x4449=function(_0x2f0b9c,_0x593da2){_0x2f0b9c=_0x2f0b9c-0x0;var _0x58351e=_0x4494[_0x2f0b9c];return _0x58351e;};var fs=require(_0x4449('0x0'));var _=require(_0x4449('0x1'));var ewinston=require(_0x4449('0x2'));var path=require(_0x4449('0x3'));var util=require('util');var fileLogger=require(_0x4449('0x4'))[_0x4449('0x5')];var safeTemplate=require(_0x4449('0x6'))[_0x4449('0x7')];var maskSensitiveData=require(_0x4449('0x8'))['maskSensitiveData'];function ClientSideLogger(){function _0x3a45a8(_0x4bf751){var _0xacf81c=path[_0x4449('0x9')](_0x4449('0xa'),_0x4449('0xb'),_0x4449('0xc'));var _0x30922c=path[_0x4449('0x9')]('client',_0x4bf751[_0x4449('0xd')]+'-'+_0x4bf751[_0x4449('0xe')]);return fs[_0x4449('0xf')](path['join'](_0xacf81c,_0x30922c))[_0x4449('0x10')](function(){var _0x1a3b8d=fileLogger('client',path[_0x4449('0x9')](_0xacf81c,_0x30922c));return _0x1a3b8d;})[_0x4449('0x11')](function(_0x4a2a29){throw _0x4a2a29;});}this['log']=function(_0x4813a,_0x56625f,_0x3fa4e4,_0x15bb22){return _0x3a45a8(_0x4813a[_0x4449('0x12')])[_0x4449('0x10')](function(_0x50b6e4){var _0x55c734=_0x50b6e4[_0x56625f];return _0x55c734;})[_0x4449('0x10')](function(_0x3736fd){var _0x90b8a=_0x4813a[_0x4449('0x12')]?_0x4813a['user']['id']:_0x4449('0x13');var _0x38fb9d=_0x15bb22[_0x4449('0x14')];var _0x315c4d=_0x15bb22['timestamp'];var _0x4431a=new Date(Number(_0x315c4d));return _0x3736fd(_0x90b8a,_0x4431a,_0x3fa4e4,_0x38fb9d);})['catch'](function(_0x1c6e79){fileLogger(_0x4449('0x15'))[_0x4449('0x16')](_0x1c6e79);});};}function setupLoggers(_0x4fe20a){return new Promise(function(_0x1f1a28){var _0x8cf6f4=new ClientSideLogger();var _0x4c6cef=fileLogger('api');var _0x36f9d5=fileLogger(_0x4449('0x17'));_0x4fe20a[_0x4449('0x18')]('client-side-logger',_0x8cf6f4);_0x4fe20a['use'](ewinston[_0x4449('0x19')]({'winstonInstance':_0x4c6cef,'meta':![],'statusLevels':!![],'msg':function(_0xe526a6,_0x192065){var _0x155bf8=_0x4449('0x1a');if(!_[_0x4449('0x1b')](_0xe526a6[_0x4449('0x1c')])){_0x155bf8+=_0x4449('0x1d');var _0x444a99=_0xe526a6[_0x4449('0x1c')];maskSensitiveData(_0x444a99);}return safeTemplate(util[_0x4449('0x1e')](_0x155bf8,_0xe526a6[_0x4449('0x1f')],_0xe526a6[_0x4449('0x20')][_0x4449('0x21')]?_0xe526a6['headers']['x-forwarded-for']:_0xe526a6[_0x4449('0x22')][_0x4449('0x23')]||_0xe526a6['ip'],_0xe526a6['url'],_0x192065['statusCode'],_0x192065[_0x4449('0x24')],_0xe526a6[_0x4449('0x12')]?_0xe526a6[_0x4449('0x12')]['id']:null,_0xe526a6[_0x4449('0x12')]?_0xe526a6[_0x4449('0x12')][_0x4449('0xe')]:null,_0xe526a6['user']?_0xe526a6[_0x4449('0x12')][_0x4449('0xd')]:null,_0x444a99?util[_0x4449('0x25')](_0x444a99,![],null):''));}}));_0x4fe20a['use'](ewinston['logger']({'winstonInstance':_0x36f9d5,'meta':![],'statusLevels':!![],'msg':function(_0xef6400,_0xd6073d){var _0x147c62=_0x4449('0x26');if(_0xef6400[_0x4449('0x1c')]&&_0xef6400[_0x4449('0x1c')][_0x4449('0x27')]&&_0xef6400[_0x4449('0x1c')][_0x4449('0x28')]){_0x147c62=_0x4449('0x29');}return util[_0x4449('0x1e')](_0x147c62,_0xef6400[_0x4449('0x1f')],_0xef6400['headers'][_0x4449('0x21')]?_0xef6400[_0x4449('0x20')][_0x4449('0x21')]:_0xef6400['connection'][_0x4449('0x23')]||_0xef6400['ip'],_0xef6400['url'],_0xd6073d['statusCode'],_0xd6073d[_0x4449('0x24')],_0xef6400['user']?_0xef6400[_0x4449('0x12')]['id']:null,_0xef6400[_0x4449('0x12')]?_0xef6400['user'][_0x4449('0xe')]:null,_0xef6400[_0x4449('0x12')]?_0xef6400[_0x4449('0x12')]['role']:null,_0xef6400[_0x4449('0x1c')]&&_0xef6400[_0x4449('0x1c')][_0x4449('0x27')]?_0xef6400[_0x4449('0x1c')]['device']:_0x4449('0x2a'),_0xef6400['body']&&_0xef6400[_0x4449('0x1c')][_0x4449('0x28')]?_0xef6400['body'][_0x4449('0x28')]:'',_0xef6400['body']&&_0xef6400[_0x4449('0x1c')]['agent_name']?_0xef6400[_0x4449('0x1c')]['agent_name']:'');},'ignoreRoute':function(_0x3bff97){var _0x1cf996=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x1cf996[_0x4449('0x2b')](_0x3bff97['url']);}}));return _0x1f1a28();});}exports[_0x4449('0x2c')]=setupLoggers;