Built motion from commit 10af8726.|2.6.34
[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 _0x5b92=['method','headers','x-forwarded-for','connection','remoteAddress','responseTime','role','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)','statusCode','other','agent_name','test','setupLoggers','fs-extra','./loggers','./safe-template','safeTemplate','./mask-sensitive-data','maskSensitiveData','join','/var','log','xcally','client','name','ensureDir','then','user','no-user','data','timestamp','catch','error','api','auth','client-side-logger','logger','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s','isEmpty','body','format'];(function(_0x452d3b,_0x42f1e2){var _0x4b3319=function(_0x552cd7){while(--_0x552cd7){_0x452d3b['push'](_0x452d3b['shift']());}};_0x4b3319(++_0x42f1e2);}(_0x5b92,0x1de));var _0x25b9=function(_0x110c3d,_0x12ee06){_0x110c3d=_0x110c3d-0x0;var _0x226d67=_0x5b92[_0x110c3d];return _0x226d67;};var fs=require(_0x25b9('0x0'));var _=require('lodash');var ewinston=require('express-winston');var path=require('path');var util=require('util');var fileLogger=require(_0x25b9('0x1'))['fileLogger'];var safeTemplate=require(_0x25b9('0x2'))[_0x25b9('0x3')];var maskSensitiveData=require(_0x25b9('0x4'))[_0x25b9('0x5')];function ClientSideLogger(){function _0x27413e(_0x40f6c1){var _0x13b944=path[_0x25b9('0x6')](_0x25b9('0x7'),_0x25b9('0x8'),_0x25b9('0x9'));var _0x2aa8ed=path[_0x25b9('0x6')](_0x25b9('0xa'),_0x40f6c1['role']+'-'+_0x40f6c1[_0x25b9('0xb')]);return fs[_0x25b9('0xc')](path[_0x25b9('0x6')](_0x13b944,_0x2aa8ed))[_0x25b9('0xd')](function(){var _0x4fb0aa=fileLogger(_0x25b9('0xa'),path['join'](_0x13b944,_0x2aa8ed));return _0x4fb0aa;})['catch'](function(_0x5cba14){throw _0x5cba14;});}this[_0x25b9('0x8')]=function(_0x2219dd,_0x13ce64,_0x2e4f6c,_0x2a39e3){return _0x27413e(_0x2219dd[_0x25b9('0xe')])[_0x25b9('0xd')](function(_0x3540df){var _0x34842b=_0x3540df[_0x13ce64];return _0x34842b;})[_0x25b9('0xd')](function(_0x514e5c){var _0x561221=_0x2219dd['user']?_0x2219dd['user']['id']:_0x25b9('0xf');var _0x16e9e6=_0x2a39e3[_0x25b9('0x10')];var _0x19ab92=_0x2a39e3[_0x25b9('0x11')];var _0x2fffe8=new Date(Number(_0x19ab92));return _0x514e5c(_0x561221,_0x2fffe8,_0x2e4f6c,_0x16e9e6);})[_0x25b9('0x12')](function(_0x525b36){fileLogger(_0x25b9('0xa'))[_0x25b9('0x13')](_0x525b36);});};}function setupLoggers(_0x5ef93d){return new Promise(function(_0x22ea34){var _0x1daf8c=new ClientSideLogger();var _0x19f39b=fileLogger(_0x25b9('0x14'));var _0x105346=fileLogger(_0x25b9('0x15'));_0x5ef93d['set'](_0x25b9('0x16'),_0x1daf8c);_0x5ef93d['use'](ewinston[_0x25b9('0x17')]({'winstonInstance':_0x19f39b,'meta':![],'statusLevels':!![],'msg':function(_0x46ef75,_0x71b38e){var _0x1d3c67=_0x25b9('0x18');if(!_[_0x25b9('0x19')](_0x46ef75['body'])){_0x1d3c67+='\x20body=%s';var _0x1ae1c2=_0x46ef75[_0x25b9('0x1a')];maskSensitiveData(_0x1ae1c2);}return safeTemplate(util[_0x25b9('0x1b')](_0x1d3c67,_0x46ef75[_0x25b9('0x1c')],_0x46ef75[_0x25b9('0x1d')][_0x25b9('0x1e')]?_0x46ef75[_0x25b9('0x1d')][_0x25b9('0x1e')]:_0x46ef75[_0x25b9('0x1f')][_0x25b9('0x20')]||_0x46ef75['ip'],_0x46ef75['url'],_0x71b38e['statusCode'],_0x71b38e[_0x25b9('0x21')],_0x46ef75[_0x25b9('0xe')]?_0x46ef75[_0x25b9('0xe')]['id']:null,_0x46ef75[_0x25b9('0xe')]?_0x46ef75[_0x25b9('0xe')][_0x25b9('0xb')]:null,_0x46ef75[_0x25b9('0xe')]?_0x46ef75[_0x25b9('0xe')][_0x25b9('0x22')]:null,_0x1ae1c2?util[_0x25b9('0x23')](_0x1ae1c2,![],null):''));}}));_0x5ef93d[_0x25b9('0x24')](ewinston[_0x25b9('0x17')]({'winstonInstance':_0x105346,'meta':![],'statusLevels':!![],'msg':function(_0x4dc0e9,_0x5a3a07){var _0x156189=_0x25b9('0x25');if(_0x4dc0e9[_0x25b9('0x1a')]&&_0x4dc0e9[_0x25b9('0x1a')][_0x25b9('0x26')]&&_0x4dc0e9['body'][_0x25b9('0x27')]){_0x156189=_0x25b9('0x28');}return util[_0x25b9('0x1b')](_0x156189,_0x4dc0e9[_0x25b9('0x1c')],_0x4dc0e9[_0x25b9('0x1d')][_0x25b9('0x1e')]?_0x4dc0e9['headers']['x-forwarded-for']:_0x4dc0e9[_0x25b9('0x1f')][_0x25b9('0x20')]||_0x4dc0e9['ip'],_0x4dc0e9['url'],_0x5a3a07[_0x25b9('0x29')],_0x5a3a07[_0x25b9('0x21')],_0x4dc0e9[_0x25b9('0xe')]?_0x4dc0e9[_0x25b9('0xe')]['id']:null,_0x4dc0e9[_0x25b9('0xe')]?_0x4dc0e9[_0x25b9('0xe')][_0x25b9('0xb')]:null,_0x4dc0e9[_0x25b9('0xe')]?_0x4dc0e9[_0x25b9('0xe')][_0x25b9('0x22')]:null,_0x4dc0e9['body']&&_0x4dc0e9[_0x25b9('0x1a')][_0x25b9('0x26')]?_0x4dc0e9['body'][_0x25b9('0x26')]:_0x25b9('0x2a'),_0x4dc0e9['body']&&_0x4dc0e9[_0x25b9('0x1a')][_0x25b9('0x27')]?_0x4dc0e9[_0x25b9('0x1a')][_0x25b9('0x27')]:'',_0x4dc0e9['body']&&_0x4dc0e9[_0x25b9('0x1a')][_0x25b9('0x2b')]?_0x4dc0e9[_0x25b9('0x1a')][_0x25b9('0x2b')]:'');},'ignoreRoute':function(_0x1375e2){var _0x385672=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x385672[_0x25b9('0x2c')](_0x1375e2['url']);}}));return _0x22ea34();});}exports[_0x25b9('0x2d')]=setupLoggers;