3b31409600d720d2b1941c0384ee61223885eddb
[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 _0x54d7=['white','bold\x20white','bold\x20magenta','bold\x20blue','addColors','/var/log/xcally','join','%s-%s.log','message','replace','{{{','}}}','format','YYYY-MM-DD\x20HH:mm:ss','level','toUpperCase','meta','keys','[%s]\x20[%s]\x20%s\x20-\x20%s\x20%s','Logger','transports','warn','%s-%s','error','File','Console','path','util','moment','winston','debugLevel','toLowerCase','redBG\x20white','red','bold\x20yellow'];(function(_0x5f2a38,_0x388192){var _0x37aa6b=function(_0x4b263d){while(--_0x4b263d){_0x5f2a38['push'](_0x5f2a38['shift']());}};_0x37aa6b(++_0x388192);}(_0x54d7,0xc9));var _0x754d=function(_0x1842c3,_0x2963c5){_0x1842c3=_0x1842c3-0x0;var _0x17c2a9=_0x54d7[_0x1842c3];return _0x17c2a9;};'use strict';var path=require(_0x754d('0x0'));var util=require(_0x754d('0x1'));var moment=require(_0x754d('0x2'));var winston=require(_0x754d('0x3'));var config=require('../config/environment');var debugLevel=config[_0x754d('0x4')]?config['debugLevel'][_0x754d('0x5')]():'info';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':_0x754d('0x6'),'error':_0x754d('0x7'),'warn':_0x754d('0x8'),'info':_0x754d('0x9'),'print':_0x754d('0xa'),'success':'bold\x20green','http':'gray','verbose':_0x754d('0xb'),'debug':_0x754d('0xc'),'silly':'bold\x20cyan'};winston[_0x754d('0xd')](XC_LOG_COLORS);function getLogFileName(_0x248bbc,_0x56b5fa,_0x3b4bcf){var _0x2c9f2c=_0x248bbc||_0x754d('0xe');return path[_0x754d('0xf')](_0x2c9f2c,util['format'](_0x754d('0x10'),_0x56b5fa,_0x3b4bcf));}function formatter(_0x21d114,_0x4db94a){_0x4db94a[_0x754d('0x11')]=_0x4db94a[_0x754d('0x11')][_0x754d('0x12')](/@@{/g,_0x754d('0x13'))[_0x754d('0x12')](/}@@/g,_0x754d('0x14'))[_0x754d('0x12')](/@{/g,'{{')['replace'](/}@/g,'}}');return util['format']('[%s]\x20[%s]\x20%s\x20-\x20%s',moment()[_0x754d('0x15')](_0x754d('0x16')),_0x4db94a[_0x754d('0x17')][_0x754d('0x18')](),_0x21d114,_0x4db94a[_0x754d('0x11')]);}function fileFormat(_0x37c39d,_0x492f67){_0x492f67[_0x754d('0x11')]=_0x492f67[_0x754d('0x11')][_0x754d('0x12')](/@@{/g,_0x754d('0x13'))['replace'](/}@@/g,'}}}')[_0x754d('0x12')](/@{/g,'{{')[_0x754d('0x12')](/}@/g,'}}');var _0x374ddc=_0x492f67[_0x754d('0x19')]&&Object[_0x754d('0x1a')](_0x492f67['meta'])['length']?'\x0a\x09'+JSON['stringify'](_0x492f67[_0x754d('0x19')]):'';return util[_0x754d('0x15')](_0x754d('0x1b'),moment()[_0x754d('0x15')](_0x754d('0x16')),_0x492f67['level'][_0x754d('0x18')](),_0x37c39d,_0x492f67[_0x754d('0x11')],_0x374ddc);}function consoleLogger(){var _0x351ba0=new winston[(_0x754d('0x1c'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0x754d('0x1d'))]['Console']({'level':_0x754d('0x1e'),'json':![],'formatter':function(_0x4fe3d1){return formatter('',_0x4fe3d1);}})]});return _0x351ba0;}function fileLogger(_0x5a9944,_0x3decf4){var _0xff29dc=new winston[(_0x754d('0x1c'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0x754d('0x1d'))]['File']({'name':util['format'](_0x754d('0x1f'),_0x5a9944,'error'),'filename':getLogFileName(_0x3decf4,_0x5a9944,_0x754d('0x20')),'level':'error','json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x548aab){return fileFormat(_0x5a9944,_0x548aab);}}),new winston[(_0x754d('0x1d'))][(_0x754d('0x21'))]({'name':util[_0x754d('0x15')]('%s-%s',_0x5a9944,debugLevel),'filename':getLogFileName(_0x3decf4,_0x5a9944,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x5aa202){return fileFormat(_0x5a9944,_0x5aa202);}}),new winston[(_0x754d('0x1d'))][(_0x754d('0x22'))]({'level':'warn','json':![],'formatter':function(_0x344410){return fileFormat(_0x5a9944,_0x344410);}})]});return _0xff29dc;}exports['consoleLogger']=consoleLogger;exports['fileLogger']=fileLogger;