bf0c862e7f633eeebef970dad3df98e6746ac46e
[motion2.git] / server / utils / loggers.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 _0x15c6=['stringify','[%s]\x20[%s]\x20%s\x20-\x20%s\x20%s','toUpperCase','Logger','warn','transports','File','error','%s-%s','Console','consoleLogger','fileLogger','path','util','moment','winston','../config/environment','toLowerCase','info','redBG\x20white','red','bold\x20yellow','white','bold\x20green','gray','bold\x20magenta','bold\x20blue','bold\x20cyan','format','%s-%s.log','message','{{{','replace','}}}','YYYY-MM-DD\x20HH:mm:ss','meta','keys'];(function(_0x5888d0,_0x2074ce){var _0x478a16=function(_0x110ca8){while(--_0x110ca8){_0x5888d0['push'](_0x5888d0['shift']());}};_0x478a16(++_0x2074ce);}(_0x15c6,0xea));var _0x615c=function(_0x4e7d25,_0x58285f){_0x4e7d25=_0x4e7d25-0x0;var _0x526fe6=_0x15c6[_0x4e7d25];return _0x526fe6;};'use strict';var path=require(_0x615c('0x0'));var util=require(_0x615c('0x1'));var moment=require(_0x615c('0x2'));var winston=require(_0x615c('0x3'));var config=require(_0x615c('0x4'));var debugLevel=config['debugLevel']?config['debugLevel'][_0x615c('0x5')]():_0x615c('0x6');var XC_LOG_LEVELS={'fatal':0x0,'error':0x0,'warn':0x1,'info':0x2,'print':0x2,'success':0x2,'http':0x3,'verbose':0x4,'debug':0x5,'silly':0x6};var XC_LOG_COLORS={'fatal':_0x615c('0x7'),'error':_0x615c('0x8'),'warn':_0x615c('0x9'),'info':_0x615c('0xa'),'print':'bold\x20white','success':_0x615c('0xb'),'http':_0x615c('0xc'),'verbose':_0x615c('0xd'),'debug':_0x615c('0xe'),'silly':_0x615c('0xf')};winston['addColors'](XC_LOG_COLORS);function getLogFileName(_0x45ff22,_0x3130cb,_0x52e002){var _0x4c91fd=_0x45ff22||'/var/log/xcally';return path['join'](_0x4c91fd,util[_0x615c('0x10')](_0x615c('0x11'),_0x3130cb,_0x52e002));}function formatter(_0x1f819b,_0x486f0b){_0x486f0b[_0x615c('0x12')]=_0x486f0b[_0x615c('0x12')]['replace'](/@@{/g,_0x615c('0x13'))[_0x615c('0x14')](/}@@/g,_0x615c('0x15'))[_0x615c('0x14')](/@{/g,'{{')[_0x615c('0x14')](/}@/g,'}}');return util['format']('[%s]\x20[%s]\x20%s\x20-\x20%s',moment()[_0x615c('0x10')](_0x615c('0x16')),_0x486f0b['level']['toUpperCase'](),_0x1f819b,_0x486f0b[_0x615c('0x12')]);}function fileFormat(_0x2bc867,_0x16b86c){_0x16b86c[_0x615c('0x12')]=_0x16b86c['message'][_0x615c('0x14')](/@@{/g,_0x615c('0x13'))[_0x615c('0x14')](/}@@/g,_0x615c('0x15'))[_0x615c('0x14')](/@{/g,'{{')[_0x615c('0x14')](/}@/g,'}}');var _0x56cabc=_0x16b86c[_0x615c('0x17')]&&Object[_0x615c('0x18')](_0x16b86c['meta'])['length']?'\x0a\x09'+JSON[_0x615c('0x19')](_0x16b86c[_0x615c('0x17')]):'';return util['format'](_0x615c('0x1a'),moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),_0x16b86c['level'][_0x615c('0x1b')](),_0x2bc867,_0x16b86c[_0x615c('0x12')],_0x56cabc);}function consoleLogger(){var _0x533412=new winston[(_0x615c('0x1c'))]({'levels':XC_LOG_LEVELS,'transports':[new winston['transports']['Console']({'level':_0x615c('0x1d'),'json':![],'formatter':function(_0x37e638){return formatter('',_0x37e638);}})]});return _0x533412;}function fileLogger(_0x4830fe,_0x316555){var _0x3fc7ff=new winston['Logger']({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0x615c('0x1e'))][(_0x615c('0x1f'))]({'name':util[_0x615c('0x10')]('%s-%s',_0x4830fe,_0x615c('0x20')),'filename':getLogFileName(_0x316555,_0x4830fe,_0x615c('0x20')),'level':_0x615c('0x20'),'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x455d29){return fileFormat(_0x4830fe,_0x455d29);}}),new winston[(_0x615c('0x1e'))][(_0x615c('0x1f'))]({'name':util['format'](_0x615c('0x21'),_0x4830fe,debugLevel),'filename':getLogFileName(_0x316555,_0x4830fe,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x281f40){return fileFormat(_0x4830fe,_0x281f40);}}),new winston[(_0x615c('0x1e'))][(_0x615c('0x22'))]({'level':'warn','json':![],'formatter':function(_0x35f638){return fileFormat(_0x4830fe,_0x35f638);}})]});return _0x3fc7ff;}exports[_0x615c('0x23')]=consoleLogger;exports[_0x615c('0x24')]=fileLogger;