a91da9fe93dea86fac41c55512aa2182aa240b04
[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 _0xbb8d=['addColors','/var/log/xcally','join','format','%s-%s.log','message','replace','}}}','[%s]\x20[%s]\x20%s\x20-\x20%s','YYYY-MM-DD\x20HH:mm:ss','level','toUpperCase','{{{','meta','keys','length','[%s]\x20[%s]\x20%s\x20-\x20%s\x20%s','Logger','warn','transports','File','%s-%s','error','Console','fileLogger','path','util','moment','debugLevel','toLowerCase','info','redBG\x20white','red','bold\x20yellow','white','bold\x20white','bold\x20green','gray','bold\x20magenta','bold\x20cyan'];(function(_0x3e3e70,_0x281ac2){var _0xb363c9=function(_0x56ce17){while(--_0x56ce17){_0x3e3e70['push'](_0x3e3e70['shift']());}};_0xb363c9(++_0x281ac2);}(_0xbb8d,0x109));var _0xdbb8=function(_0x46bcfa,_0x201ae5){_0x46bcfa=_0x46bcfa-0x0;var _0x2d15e4=_0xbb8d[_0x46bcfa];return _0x2d15e4;};'use strict';var path=require(_0xdbb8('0x0'));var util=require(_0xdbb8('0x1'));var moment=require(_0xdbb8('0x2'));var winston=require('winston');var config=require('../config/environment');var debugLevel=config['debugLevel']?config[_0xdbb8('0x3')][_0xdbb8('0x4')]():_0xdbb8('0x5');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':_0xdbb8('0x6'),'error':_0xdbb8('0x7'),'warn':_0xdbb8('0x8'),'info':_0xdbb8('0x9'),'print':_0xdbb8('0xa'),'success':_0xdbb8('0xb'),'http':_0xdbb8('0xc'),'verbose':_0xdbb8('0xd'),'debug':'bold\x20blue','silly':_0xdbb8('0xe')};winston[_0xdbb8('0xf')](XC_LOG_COLORS);function getLogFileName(_0x6f732a,_0x1d8d5d,_0x263486){var _0x47fb9a=_0x6f732a||_0xdbb8('0x10');return path[_0xdbb8('0x11')](_0x47fb9a,util[_0xdbb8('0x12')](_0xdbb8('0x13'),_0x1d8d5d,_0x263486));}function formatter(_0x30da5a,_0x2cc2ed){_0x2cc2ed[_0xdbb8('0x14')]=_0x2cc2ed[_0xdbb8('0x14')][_0xdbb8('0x15')](/@@{/g,'{{{')[_0xdbb8('0x15')](/}@@/g,_0xdbb8('0x16'))[_0xdbb8('0x15')](/@{/g,'{{')[_0xdbb8('0x15')](/}@/g,'}}');return util['format'](_0xdbb8('0x17'),moment()[_0xdbb8('0x12')](_0xdbb8('0x18')),_0x2cc2ed[_0xdbb8('0x19')][_0xdbb8('0x1a')](),_0x30da5a,_0x2cc2ed['message']);}function fileFormat(_0x11b7b5,_0xf0eda9){_0xf0eda9[_0xdbb8('0x14')]=_0xf0eda9[_0xdbb8('0x14')][_0xdbb8('0x15')](/@@{/g,_0xdbb8('0x1b'))[_0xdbb8('0x15')](/}@@/g,_0xdbb8('0x16'))[_0xdbb8('0x15')](/@{/g,'{{')[_0xdbb8('0x15')](/}@/g,'}}');var _0x419ab9=_0xf0eda9[_0xdbb8('0x1c')]&&Object[_0xdbb8('0x1d')](_0xf0eda9[_0xdbb8('0x1c')])[_0xdbb8('0x1e')]?'\x0a\x09'+JSON['stringify'](_0xf0eda9[_0xdbb8('0x1c')]):'';return util[_0xdbb8('0x12')](_0xdbb8('0x1f'),moment()[_0xdbb8('0x12')](_0xdbb8('0x18')),_0xf0eda9['level']['toUpperCase'](),_0x11b7b5,_0xf0eda9[_0xdbb8('0x14')],_0x419ab9);}function consoleLogger(){var _0x185843=new winston[(_0xdbb8('0x20'))]({'levels':XC_LOG_LEVELS,'transports':[new winston['transports']['Console']({'level':_0xdbb8('0x21'),'json':![],'formatter':function(_0x45606d){return formatter('',_0x45606d);}})]});return _0x185843;}function fileLogger(_0x127de5,_0x181f35){var _0x12ad08=new winston[(_0xdbb8('0x20'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0xdbb8('0x22'))][(_0xdbb8('0x23'))]({'name':util[_0xdbb8('0x12')](_0xdbb8('0x24'),_0x127de5,'error'),'filename':getLogFileName(_0x181f35,_0x127de5,_0xdbb8('0x25')),'level':_0xdbb8('0x25'),'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x48552a){return fileFormat(_0x127de5,_0x48552a);}}),new winston['transports']['File']({'name':util[_0xdbb8('0x12')](_0xdbb8('0x24'),_0x127de5,debugLevel),'filename':getLogFileName(_0x181f35,_0x127de5,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x1b66cb){return fileFormat(_0x127de5,_0x1b66cb);}}),new winston[(_0xdbb8('0x22'))][(_0xdbb8('0x26'))]({'level':_0xdbb8('0x21'),'json':![],'formatter':function(_0x298745){return fileFormat(_0x127de5,_0x298745);}})]});return _0x12ad08;}exports['consoleLogger']=consoleLogger;exports[_0xdbb8('0x27')]=fileLogger;