Built motion from commit cafec4f3.|2.6.31
[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 _0xa169=['keys','length','stringify','YYYY-MM-DD\x20HH:mm:ss','Logger','warn','transports','File','%s-%s','error','Console','fileLogger','path','moment','winston','../config/environment','debugLevel','toLowerCase','info','redBG\x20white','red','bold\x20yellow','white','bold\x20green','gray','bold\x20magenta','bold\x20cyan','addColors','join','%s-%s.log','message','replace','format','level','toUpperCase','{{{','}}}','meta'];(function(_0xeaffa8,_0x311819){var _0x15078e=function(_0x2611eb){while(--_0x2611eb){_0xeaffa8['push'](_0xeaffa8['shift']());}};_0x15078e(++_0x311819);}(_0xa169,0x1d4));var _0x9a16=function(_0x219b96,_0x34ef8e){_0x219b96=_0x219b96-0x0;var _0x453a54=_0xa169[_0x219b96];return _0x453a54;};'use strict';var path=require(_0x9a16('0x0'));var util=require('util');var moment=require(_0x9a16('0x1'));var winston=require(_0x9a16('0x2'));var config=require(_0x9a16('0x3'));var debugLevel=config[_0x9a16('0x4')]?config[_0x9a16('0x4')][_0x9a16('0x5')]():_0x9a16('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':_0x9a16('0x7'),'error':_0x9a16('0x8'),'warn':_0x9a16('0x9'),'info':_0x9a16('0xa'),'print':'bold\x20white','success':_0x9a16('0xb'),'http':_0x9a16('0xc'),'verbose':_0x9a16('0xd'),'debug':'bold\x20blue','silly':_0x9a16('0xe')};winston[_0x9a16('0xf')](XC_LOG_COLORS);function getLogFileName(_0xa35061,_0x1ce410,_0x276cf0){var _0xfe4207=_0xa35061||'/var/log/xcally';return path[_0x9a16('0x10')](_0xfe4207,util['format'](_0x9a16('0x11'),_0x1ce410,_0x276cf0));}function formatter(_0x50c64e,_0x50d64d){_0x50d64d[_0x9a16('0x12')]=_0x50d64d[_0x9a16('0x12')][_0x9a16('0x13')](/@@{/g,'{{{')[_0x9a16('0x13')](/}@@/g,'}}}')[_0x9a16('0x13')](/@{/g,'{{')[_0x9a16('0x13')](/}@/g,'}}');return util[_0x9a16('0x14')]('[%s]\x20[%s]\x20%s\x20-\x20%s',moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),_0x50d64d[_0x9a16('0x15')][_0x9a16('0x16')](),_0x50c64e,_0x50d64d[_0x9a16('0x12')]);}function fileFormat(_0x3a0f8f,_0xd5ebf6){_0xd5ebf6['message']=_0xd5ebf6[_0x9a16('0x12')][_0x9a16('0x13')](/@@{/g,_0x9a16('0x17'))[_0x9a16('0x13')](/}@@/g,_0x9a16('0x18'))[_0x9a16('0x13')](/@{/g,'{{')[_0x9a16('0x13')](/}@/g,'}}');var _0x151ca6=_0xd5ebf6[_0x9a16('0x19')]&&Object[_0x9a16('0x1a')](_0xd5ebf6['meta'])[_0x9a16('0x1b')]?'\x0a\x09'+JSON[_0x9a16('0x1c')](_0xd5ebf6[_0x9a16('0x19')]):'';return util[_0x9a16('0x14')]('[%s]\x20[%s]\x20%s\x20-\x20%s\x20%s',moment()[_0x9a16('0x14')](_0x9a16('0x1d')),_0xd5ebf6[_0x9a16('0x15')]['toUpperCase'](),_0x3a0f8f,_0xd5ebf6['message'],_0x151ca6);}function consoleLogger(){var _0xf03f6e=new winston[(_0x9a16('0x1e'))]({'levels':XC_LOG_LEVELS,'transports':[new winston['transports']['Console']({'level':_0x9a16('0x1f'),'json':![],'formatter':function(_0x36fe77){return formatter('',_0x36fe77);}})]});return _0xf03f6e;}function fileLogger(_0x5efbfc,_0x80111a){var _0x56eca2=new winston[(_0x9a16('0x1e'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0x9a16('0x20'))][(_0x9a16('0x21'))]({'name':util[_0x9a16('0x14')](_0x9a16('0x22'),_0x5efbfc,_0x9a16('0x23')),'filename':getLogFileName(_0x80111a,_0x5efbfc,_0x9a16('0x23')),'level':_0x9a16('0x23'),'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x63f130){return fileFormat(_0x5efbfc,_0x63f130);}}),new winston[(_0x9a16('0x20'))][(_0x9a16('0x21'))]({'name':util['format'](_0x9a16('0x22'),_0x5efbfc,debugLevel),'filename':getLogFileName(_0x80111a,_0x5efbfc,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x15239d){return fileFormat(_0x5efbfc,_0x15239d);}}),new winston[(_0x9a16('0x20'))][(_0x9a16('0x24'))]({'level':_0x9a16('0x1f'),'json':![],'formatter':function(_0x50e1d6){return fileFormat(_0x5efbfc,_0x50e1d6);}})]});return _0x56eca2;}exports['consoleLogger']=consoleLogger;exports[_0x9a16('0x25')]=fileLogger;