25cc5fec030972aaeb3731ac6c1c60a28449cbe6
[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 _0x2f93=['transports','Console','warn','File','%s-%s','error','fileLogger','path','util','moment','winston','../config/environment','debugLevel','info','redBG\x20white','red','bold\x20yellow','white','gray','bold\x20magenta','bold\x20cyan','addColors','join','format','message','{{{','replace','}}}','[%s]\x20[%s]\x20%s\x20-\x20%s','YYYY-MM-DD\x20HH:mm:ss','level','meta','keys','length','[%s]\x20[%s]\x20%s\x20-\x20%s\x20%s','toUpperCase','Logger'];(function(_0x5d2803,_0xf375bd){var _0xdcad2c=function(_0x3c3a98){while(--_0x3c3a98){_0x5d2803['push'](_0x5d2803['shift']());}};_0xdcad2c(++_0xf375bd);}(_0x2f93,0x179));var _0x32f9=function(_0x14e3ec,_0x2d2f0e){_0x14e3ec=_0x14e3ec-0x0;var _0x3e2dc9=_0x2f93[_0x14e3ec];return _0x3e2dc9;};'use strict';var path=require(_0x32f9('0x0'));var util=require(_0x32f9('0x1'));var moment=require(_0x32f9('0x2'));var winston=require(_0x32f9('0x3'));var config=require(_0x32f9('0x4'));var debugLevel=config[_0x32f9('0x5')]?config['debugLevel']['toLowerCase']():_0x32f9('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':_0x32f9('0x7'),'error':_0x32f9('0x8'),'warn':_0x32f9('0x9'),'info':_0x32f9('0xa'),'print':'bold\x20white','success':'bold\x20green','http':_0x32f9('0xb'),'verbose':_0x32f9('0xc'),'debug':'bold\x20blue','silly':_0x32f9('0xd')};winston[_0x32f9('0xe')](XC_LOG_COLORS);function getLogFileName(_0x5a4fef,_0x1f8ba8,_0x474a8e){var _0x48bf7e=_0x5a4fef||'/var/log/xcally';return path[_0x32f9('0xf')](_0x48bf7e,util[_0x32f9('0x10')]('%s-%s.log',_0x1f8ba8,_0x474a8e));}function formatter(_0xf23f44,_0x456faf){_0x456faf[_0x32f9('0x11')]=_0x456faf[_0x32f9('0x11')]['replace'](/@@{/g,_0x32f9('0x12'))[_0x32f9('0x13')](/}@@/g,_0x32f9('0x14'))[_0x32f9('0x13')](/@{/g,'{{')[_0x32f9('0x13')](/}@/g,'}}');return util['format'](_0x32f9('0x15'),moment()[_0x32f9('0x10')](_0x32f9('0x16')),_0x456faf[_0x32f9('0x17')]['toUpperCase'](),_0xf23f44,_0x456faf[_0x32f9('0x11')]);}function fileFormat(_0xa9ec65,_0x43bb3d){_0x43bb3d[_0x32f9('0x11')]=_0x43bb3d[_0x32f9('0x11')][_0x32f9('0x13')](/@@{/g,_0x32f9('0x12'))[_0x32f9('0x13')](/}@@/g,_0x32f9('0x14'))[_0x32f9('0x13')](/@{/g,'{{')['replace'](/}@/g,'}}');var _0x42ddec=_0x43bb3d[_0x32f9('0x18')]&&Object[_0x32f9('0x19')](_0x43bb3d[_0x32f9('0x18')])[_0x32f9('0x1a')]?'\x0a\x09'+JSON['stringify'](_0x43bb3d['meta']):'';return util['format'](_0x32f9('0x1b'),moment()[_0x32f9('0x10')](_0x32f9('0x16')),_0x43bb3d[_0x32f9('0x17')][_0x32f9('0x1c')](),_0xa9ec65,_0x43bb3d[_0x32f9('0x11')],_0x42ddec);}function consoleLogger(){var _0xdb52c2=new winston[(_0x32f9('0x1d'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0x32f9('0x1e'))][(_0x32f9('0x1f'))]({'level':_0x32f9('0x20'),'json':![],'formatter':function(_0x1930af){return formatter('',_0x1930af);}})]});return _0xdb52c2;}function fileLogger(_0x241173,_0x29ec0a){var _0xb05e51=new winston['Logger']({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0x32f9('0x1e'))][(_0x32f9('0x21'))]({'name':util[_0x32f9('0x10')](_0x32f9('0x22'),_0x241173,_0x32f9('0x23')),'filename':getLogFileName(_0x29ec0a,_0x241173,_0x32f9('0x23')),'level':'error','json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x356231){return fileFormat(_0x241173,_0x356231);}}),new winston['transports']['File']({'name':util[_0x32f9('0x10')](_0x32f9('0x22'),_0x241173,debugLevel),'filename':getLogFileName(_0x29ec0a,_0x241173,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x11ea52){return fileFormat(_0x241173,_0x11ea52);}}),new winston[(_0x32f9('0x1e'))][(_0x32f9('0x1f'))]({'level':_0x32f9('0x20'),'json':![],'formatter':function(_0x314e9f){return fileFormat(_0x241173,_0x314e9f);}})]});return _0xb05e51;}exports['consoleLogger']=consoleLogger;exports[_0x32f9('0x24')]=fileLogger;