9bf317076e0751b7b5e97ad0efd1bcc2d8637275
[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 _0x1da5=['./mask-sensitive-data','maskSensitiveData','/var','log','xcally','join','client','role','name','ensureDir','then','catch','user','no-user','timestamp','error','api','auth','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','\x20body=%s','headers','x-forwarded-for','remoteAddress','statusCode','responseTime','inspect','use','%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)','method','connection','url','agent_name','setupLoggers','fs-extra','lodash','express-winston','path','util','./loggers','fileLogger','./safe-template','safeTemplate'];(function(_0x167cc1,_0x56ef5a){var _0x10bc4b=function(_0xd6a255){while(--_0xd6a255){_0x167cc1['push'](_0x167cc1['shift']());}};_0x10bc4b(++_0x56ef5a);}(_0x1da5,0x1a7));var _0x51da=function(_0x3f89f8,_0x361a53){_0x3f89f8=_0x3f89f8-0x0;var _0x5d5114=_0x1da5[_0x3f89f8];return _0x5d5114;};var fs=require(_0x51da('0x0'));var _=require(_0x51da('0x1'));var ewinston=require(_0x51da('0x2'));var path=require(_0x51da('0x3'));var util=require(_0x51da('0x4'));var fileLogger=require(_0x51da('0x5'))[_0x51da('0x6')];var safeTemplate=require(_0x51da('0x7'))[_0x51da('0x8')];var maskSensitiveData=require(_0x51da('0x9'))[_0x51da('0xa')];function ClientSideLogger(){function _0x53f99b(_0x1af005){var _0x2348b1=path['join'](_0x51da('0xb'),_0x51da('0xc'),_0x51da('0xd'));var _0x2617b1=path[_0x51da('0xe')](_0x51da('0xf'),_0x1af005[_0x51da('0x10')]+'-'+_0x1af005[_0x51da('0x11')]);return fs[_0x51da('0x12')](path[_0x51da('0xe')](_0x2348b1,_0x2617b1))[_0x51da('0x13')](function(){var _0x3c3700=fileLogger(_0x51da('0xf'),path[_0x51da('0xe')](_0x2348b1,_0x2617b1));return _0x3c3700;})[_0x51da('0x14')](function(_0x1272b4){throw _0x1272b4;});}this[_0x51da('0xc')]=function(_0x2a518b,_0x3a1e32,_0x6148e7,_0x198e7a){return _0x53f99b(_0x2a518b[_0x51da('0x15')])[_0x51da('0x13')](function(_0x141a24){var _0x4871ed=_0x141a24[_0x3a1e32];return _0x4871ed;})[_0x51da('0x13')](function(_0x35bb8c){var _0x59d64a=_0x2a518b['user']?_0x2a518b[_0x51da('0x15')]['id']:_0x51da('0x16');var _0x1ac3fa=_0x198e7a['data'];var _0x2188a5=_0x198e7a[_0x51da('0x17')];var _0x525d5a=new Date(Number(_0x2188a5));return _0x35bb8c(_0x59d64a,_0x525d5a,_0x6148e7,_0x1ac3fa);})['catch'](function(_0x3d098b){fileLogger(_0x51da('0xf'))[_0x51da('0x18')](_0x3d098b);});};}function setupLoggers(_0x44585c){return new Promise(function(_0x26c425){var _0x14a5c8=new ClientSideLogger();var _0x132941=fileLogger(_0x51da('0x19'));var _0xfef615=fileLogger(_0x51da('0x1a'));_0x44585c['set']('client-side-logger',_0x14a5c8);_0x44585c['use'](ewinston[_0x51da('0x1b')]({'winstonInstance':_0x132941,'meta':![],'statusLevels':!![],'msg':function(_0x4f2223,_0x21f842){var _0x20dbab=_0x51da('0x1c');if(!_[_0x51da('0x1d')](_0x4f2223[_0x51da('0x1e')])){_0x20dbab+=_0x51da('0x1f');var _0x5bbe82=_0x4f2223[_0x51da('0x1e')];maskSensitiveData(_0x5bbe82);}return safeTemplate(util['format'](_0x20dbab,_0x4f2223['method'],_0x4f2223[_0x51da('0x20')][_0x51da('0x21')]?_0x4f2223['headers']['x-forwarded-for']:_0x4f2223['connection'][_0x51da('0x22')]||_0x4f2223['ip'],_0x4f2223['url'],_0x21f842[_0x51da('0x23')],_0x21f842[_0x51da('0x24')],_0x4f2223['user']?_0x4f2223[_0x51da('0x15')]['id']:null,_0x4f2223[_0x51da('0x15')]?_0x4f2223[_0x51da('0x15')]['name']:null,_0x4f2223[_0x51da('0x15')]?_0x4f2223['user'][_0x51da('0x10')]:null,_0x5bbe82?util[_0x51da('0x25')](_0x5bbe82,![],null):''));}}));_0x44585c[_0x51da('0x26')](ewinston[_0x51da('0x1b')]({'winstonInstance':_0xfef615,'meta':![],'statusLevels':!![],'msg':function(_0x192258,_0x4f9410){var _0x4a00d3=_0x51da('0x27');if(_0x192258[_0x51da('0x1e')]&&_0x192258[_0x51da('0x1e')][_0x51da('0x28')]&&_0x192258['body'][_0x51da('0x29')]){_0x4a00d3=_0x51da('0x2a');}return util['format'](_0x4a00d3,_0x192258[_0x51da('0x2b')],_0x192258[_0x51da('0x20')]['x-forwarded-for']?_0x192258['headers'][_0x51da('0x21')]:_0x192258[_0x51da('0x2c')][_0x51da('0x22')]||_0x192258['ip'],_0x192258[_0x51da('0x2d')],_0x4f9410['statusCode'],_0x4f9410[_0x51da('0x24')],_0x192258[_0x51da('0x15')]?_0x192258[_0x51da('0x15')]['id']:null,_0x192258[_0x51da('0x15')]?_0x192258['user'][_0x51da('0x11')]:null,_0x192258[_0x51da('0x15')]?_0x192258[_0x51da('0x15')][_0x51da('0x10')]:null,_0x192258['body']&&_0x192258[_0x51da('0x1e')]['device']?_0x192258[_0x51da('0x1e')][_0x51da('0x28')]:'other',_0x192258[_0x51da('0x1e')]&&_0x192258[_0x51da('0x1e')][_0x51da('0x29')]?_0x192258['body'][_0x51da('0x29')]:'',_0x192258[_0x51da('0x1e')]&&_0x192258['body'][_0x51da('0x2e')]?_0x192258[_0x51da('0x1e')][_0x51da('0x2e')]:'');},'ignoreRoute':function(_0x4bde00){var _0x428cc8=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x428cc8['test'](_0x4bde00[_0x51da('0x2d')]);}}));return _0x26c425();});}exports[_0x51da('0x2f')]=setupLoggers;