Built motion from commit 20b39a97.|2.6.29
[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 _0x3bc3=['method','connection','name','other','agent_name','test','setupLoggers','fs-extra','lodash','express-winston','util','./loggers','fileLogger','safeTemplate','maskSensitiveData','join','/var','log','xcally','role','then','client','catch','user','timestamp','api','client-side-logger','use','logger','isEmpty','body','\x20body=%s','format','headers','x-forwarded-for','remoteAddress','url','statusCode','responseTime','inspect','%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s','device','agent_id'];(function(_0x4d7dac,_0x296dcf){var _0x3d6782=function(_0x288c09){while(--_0x288c09){_0x4d7dac['push'](_0x4d7dac['shift']());}};_0x3d6782(++_0x296dcf);}(_0x3bc3,0xb3));var _0x33bc=function(_0x2f9062,_0xb1f10d){_0x2f9062=_0x2f9062-0x0;var _0x17307c=_0x3bc3[_0x2f9062];return _0x17307c;};var fs=require(_0x33bc('0x0'));var _=require(_0x33bc('0x1'));var ewinston=require(_0x33bc('0x2'));var path=require('path');var util=require(_0x33bc('0x3'));var fileLogger=require(_0x33bc('0x4'))[_0x33bc('0x5')];var safeTemplate=require('./safe-template')[_0x33bc('0x6')];var maskSensitiveData=require('./mask-sensitive-data')[_0x33bc('0x7')];function ClientSideLogger(){function _0x2f4487(_0x84e283){var _0x440403=path[_0x33bc('0x8')](_0x33bc('0x9'),_0x33bc('0xa'),_0x33bc('0xb'));var _0xb9897b=path['join']('client',_0x84e283[_0x33bc('0xc')]+'-'+_0x84e283['name']);return fs['ensureDir'](path[_0x33bc('0x8')](_0x440403,_0xb9897b))[_0x33bc('0xd')](function(){var _0x3e99b5=fileLogger(_0x33bc('0xe'),path[_0x33bc('0x8')](_0x440403,_0xb9897b));return _0x3e99b5;})[_0x33bc('0xf')](function(_0x3fb08d){throw _0x3fb08d;});}this[_0x33bc('0xa')]=function(_0x26dd65,_0x5941f5,_0x17f34f,_0x3d2517){return _0x2f4487(_0x26dd65[_0x33bc('0x10')])[_0x33bc('0xd')](function(_0x8e65a3){var _0x555610=_0x8e65a3[_0x5941f5];return _0x555610;})[_0x33bc('0xd')](function(_0x4dcff1){var _0x3a7a8b=_0x26dd65[_0x33bc('0x10')]?_0x26dd65[_0x33bc('0x10')]['id']:'no-user';var _0x58112a=_0x3d2517['data'];var _0x4abde7=_0x3d2517[_0x33bc('0x11')];var _0x1417c3=new Date(Number(_0x4abde7));return _0x4dcff1(_0x3a7a8b,_0x1417c3,_0x17f34f,_0x58112a);})[_0x33bc('0xf')](function(_0xaaa743){fileLogger(_0x33bc('0xe'))['error'](_0xaaa743);});};}function setupLoggers(_0x5c6168){return new Promise(function(_0x137e53){var _0x59ff2f=new ClientSideLogger();var _0x9f3b26=fileLogger(_0x33bc('0x12'));var _0x546f7a=fileLogger('auth');_0x5c6168['set'](_0x33bc('0x13'),_0x59ff2f);_0x5c6168[_0x33bc('0x14')](ewinston[_0x33bc('0x15')]({'winstonInstance':_0x9f3b26,'meta':![],'statusLevels':!![],'msg':function(_0x3ba13b,_0x1bffbf){var _0x1739a4='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s';if(!_[_0x33bc('0x16')](_0x3ba13b[_0x33bc('0x17')])){_0x1739a4+=_0x33bc('0x18');var _0x143d6a=_0x3ba13b['body'];maskSensitiveData(_0x143d6a);}return safeTemplate(util[_0x33bc('0x19')](_0x1739a4,_0x3ba13b['method'],_0x3ba13b[_0x33bc('0x1a')][_0x33bc('0x1b')]?_0x3ba13b[_0x33bc('0x1a')][_0x33bc('0x1b')]:_0x3ba13b['connection'][_0x33bc('0x1c')]||_0x3ba13b['ip'],_0x3ba13b[_0x33bc('0x1d')],_0x1bffbf[_0x33bc('0x1e')],_0x1bffbf[_0x33bc('0x1f')],_0x3ba13b['user']?_0x3ba13b['user']['id']:null,_0x3ba13b[_0x33bc('0x10')]?_0x3ba13b[_0x33bc('0x10')]['name']:null,_0x3ba13b['user']?_0x3ba13b['user'][_0x33bc('0xc')]:null,_0x143d6a?util[_0x33bc('0x20')](_0x143d6a,![],null):''));}}));_0x5c6168[_0x33bc('0x14')](ewinston['logger']({'winstonInstance':_0x546f7a,'meta':![],'statusLevels':!![],'msg':function(_0x47f733,_0x337a24){var _0xe16903=_0x33bc('0x21');if(_0x47f733[_0x33bc('0x17')]&&_0x47f733[_0x33bc('0x17')][_0x33bc('0x22')]&&_0x47f733[_0x33bc('0x17')][_0x33bc('0x23')]){_0xe16903='%s\x20%s\x20%s\x20%s\x20%sms\x20id=%s\x20name=%s\x20role=%s\x20device=%s\x20(id=%s\x20name=%s)';}return util[_0x33bc('0x19')](_0xe16903,_0x47f733[_0x33bc('0x24')],_0x47f733[_0x33bc('0x1a')][_0x33bc('0x1b')]?_0x47f733[_0x33bc('0x1a')][_0x33bc('0x1b')]:_0x47f733[_0x33bc('0x25')]['remoteAddress']||_0x47f733['ip'],_0x47f733['url'],_0x337a24[_0x33bc('0x1e')],_0x337a24[_0x33bc('0x1f')],_0x47f733[_0x33bc('0x10')]?_0x47f733[_0x33bc('0x10')]['id']:null,_0x47f733[_0x33bc('0x10')]?_0x47f733[_0x33bc('0x10')][_0x33bc('0x26')]:null,_0x47f733['user']?_0x47f733[_0x33bc('0x10')][_0x33bc('0xc')]:null,_0x47f733[_0x33bc('0x17')]&&_0x47f733[_0x33bc('0x17')][_0x33bc('0x22')]?_0x47f733[_0x33bc('0x17')][_0x33bc('0x22')]:_0x33bc('0x27'),_0x47f733[_0x33bc('0x17')]&&_0x47f733['body'][_0x33bc('0x23')]?_0x47f733[_0x33bc('0x17')][_0x33bc('0x23')]:'',_0x47f733[_0x33bc('0x17')]&&_0x47f733[_0x33bc('0x17')][_0x33bc('0x28')]?_0x47f733['body'][_0x33bc('0x28')]:'');},'ignoreRoute':function(_0x52241d){var _0x2c616a=/\/api\/users\/[0-9]+\/(login|logout)/gi;return!_0x2c616a[_0x33bc('0x29')](_0x52241d['url']);}}));return _0x137e53();});}exports[_0x33bc('0x2a')]=setupLoggers;