Built motion from commit b5413ace.|2.6.9
[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 _0x1f79=['./safe-template','join','/var','log','client','role','ensureDir','then','catch','user','no-user','data','api','auth','set','client-side-logger','use','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','\x20body=%s','body','format','method','headers','x-forwarded-for','connection','remoteAddress','responseTime','inspect','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)','url','statusCode','agent_name','setupLoggers','fs-extra','lodash','path','util','./loggers'];(function(_0x1829be,_0x9308d0){var _0x35fa35=function(_0x4a7cad){while(--_0x4a7cad){_0x1829be['push'](_0x1829be['shift']());}};_0x35fa35(++_0x9308d0);}(_0x1f79,0x121));var _0x91f7=function(_0x5ecb01,_0x40629a){_0x5ecb01=_0x5ecb01-0x0;var _0xb74ee=_0x1f79[_0x5ecb01];return _0xb74ee;};var fs=require(_0x91f7('0x0'));var _=require(_0x91f7('0x1'));var ewinston=require('express-winston');var path=require(_0x91f7('0x2'));var util=require(_0x91f7('0x3'));var fileLogger=require(_0x91f7('0x4'))['fileLogger'];var safeTemplate=require(_0x91f7('0x5'))['safeTemplate'];var maskSensitiveData=require('./mask-sensitive-data')['maskSensitiveData'];function ClientSideLogger(){function _0x5da870(_0x3e2fd9){var _0xe02585=path[_0x91f7('0x6')](_0x91f7('0x7'),_0x91f7('0x8'),'xcally');var _0x386bc1=path[_0x91f7('0x6')](_0x91f7('0x9'),_0x3e2fd9[_0x91f7('0xa')]+'-'+_0x3e2fd9['name']);return fs[_0x91f7('0xb')](path['join'](_0xe02585,_0x386bc1))[_0x91f7('0xc')](function(){var _0x592f21=fileLogger('client',path[_0x91f7('0x6')](_0xe02585,_0x386bc1));return _0x592f21;})[_0x91f7('0xd')](function(_0x5868ba){throw _0x5868ba;});}this[_0x91f7('0x8')]=function(_0xd08dd8,_0x248148,_0x44950d,_0x115046){return _0x5da870(_0xd08dd8[_0x91f7('0xe')])[_0x91f7('0xc')](function(_0x4a2bd1){var _0x353e0c=_0x4a2bd1[_0x248148];return _0x353e0c;})[_0x91f7('0xc')](function(_0x1c824c){var _0x265972=_0xd08dd8['user']?_0xd08dd8[_0x91f7('0xe')]['id']:_0x91f7('0xf');var _0x323fd0=_0x115046[_0x91f7('0x10')];var _0x15d90c=_0x115046['timestamp'];var _0x4eacc5=new Date(Number(_0x15d90c));return _0x1c824c(_0x265972,_0x4eacc5,_0x44950d,_0x323fd0);})[_0x91f7('0xd')](function(_0x338a11){fileLogger(_0x91f7('0x9'))['error'](_0x338a11);});};}function setupLoggers(_0x588dab){return new Promise(function(_0x21280f){var _0x538704=new ClientSideLogger();var _0x1e39b1=fileLogger(_0x91f7('0x11'));var _0x46ce79=fileLogger(_0x91f7('0x12'));_0x588dab[_0x91f7('0x13')](_0x91f7('0x14'),_0x538704);_0x588dab[_0x91f7('0x15')](ewinston[_0x91f7('0x16')]({'winstonInstance':_0x1e39b1,'meta':![],'statusLevels':!![],'msg':function(_0xe568ea,_0x4a0ad3){var _0x1ea0d0=_0x91f7('0x17');if(!_[_0x91f7('0x18')](_0xe568ea['body'])){_0x1ea0d0+=_0x91f7('0x19');var _0x3df5a1=_0xe568ea[_0x91f7('0x1a')];maskSensitiveData(_0x3df5a1);}return safeTemplate(util[_0x91f7('0x1b')](_0x1ea0d0,_0xe568ea[_0x91f7('0x1c')],_0xe568ea[_0x91f7('0x1d')][_0x91f7('0x1e')]?_0xe568ea[_0x91f7('0x1d')][_0x91f7('0x1e')]:_0xe568ea[_0x91f7('0x1f')][_0x91f7('0x20')]||_0xe568ea['ip'],_0xe568ea['url'],_0x4a0ad3['statusCode'],_0x4a0ad3[_0x91f7('0x21')],_0xe568ea[_0x91f7('0xe')]?_0xe568ea[_0x91f7('0xe')]['id']:null,_0xe568ea[_0x91f7('0xe')]?_0xe568ea['user']['name']:null,_0xe568ea[_0x91f7('0xe')]?_0xe568ea[_0x91f7('0xe')][_0x91f7('0xa')]:null,_0x3df5a1?util[_0x91f7('0x22')](_0x3df5a1,![],null):''));}}));_0x588dab[_0x91f7('0x15')](ewinston[_0x91f7('0x16')]({'winstonInstance':_0x46ce79,'meta':![],'statusLevels':!![],'msg':function(_0xf43078,_0x8c5b47){var _0x30dfa8='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s';if(_0xf43078['body']&&_0xf43078['body'][_0x91f7('0x23')]&&_0xf43078[_0x91f7('0x1a')][_0x91f7('0x24')]){_0x30dfa8=_0x91f7('0x25');}return util[_0x91f7('0x1b')](_0x30dfa8,_0xf43078[_0x91f7('0x1c')],_0xf43078[_0x91f7('0x1d')][_0x91f7('0x1e')]?_0xf43078[_0x91f7('0x1d')][_0x91f7('0x1e')]:_0xf43078[_0x91f7('0x1f')][_0x91f7('0x20')]||_0xf43078['ip'],_0xf43078[_0x91f7('0x26')],_0x8c5b47[_0x91f7('0x27')],_0x8c5b47[_0x91f7('0x21')],_0xf43078[_0x91f7('0xe')]?_0xf43078['user']['id']:null,_0xf43078['user']?_0xf43078['user']['name']:null,_0xf43078[_0x91f7('0xe')]?_0xf43078[_0x91f7('0xe')]['role']:null,_0xf43078['body']&&_0xf43078[_0x91f7('0x1a')][_0x91f7('0x23')]?_0xf43078[_0x91f7('0x1a')][_0x91f7('0x23')]:'other',_0xf43078['body']&&_0xf43078[_0x91f7('0x1a')]['agent_id']?_0xf43078[_0x91f7('0x1a')]['agent_id']:'',_0xf43078['body']&&_0xf43078[_0x91f7('0x1a')][_0x91f7('0x28')]?_0xf43078[_0x91f7('0x1a')][_0x91f7('0x28')]:'');},'ignoreRoute':function(_0x1e310b){var _0x39265c=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x39265c['test'](_0x1e310b['url']);}}));return _0x21280f();});}exports[_0x91f7('0x29')]=setupLoggers;