9770afdc6a0236823d5c50d76dde97b1c21895f0
[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 _0x560b=['join','%s-%s.log','message','{{{','replace','[%s]\x20[%s]\x20%s\x20-\x20%s','format','YYYY-MM-DD\x20HH:mm:ss','level','toUpperCase','}}}','meta','keys','length','Logger','transports','Console','warn','File','%s-%s','error','consoleLogger','winston','../config/environment','debugLevel','toLowerCase','info','redBG\x20white','red','bold\x20yellow','white','bold\x20white','gray','bold\x20magenta','bold\x20cyan','addColors','/var/log/xcally'];(function(_0x25bd99,_0x112161){var _0x2676b5=function(_0x52d9a7){while(--_0x52d9a7){_0x25bd99['push'](_0x25bd99['shift']());}};_0x2676b5(++_0x112161);}(_0x560b,0x1d2));var _0xb560=function(_0x2d8ba0,_0x1d02b5){_0x2d8ba0=_0x2d8ba0-0x0;var _0x3097d6=_0x560b[_0x2d8ba0];return _0x3097d6;};'use strict';var path=require('path');var util=require('util');var moment=require('moment');var winston=require(_0xb560('0x0'));var config=require(_0xb560('0x1'));var debugLevel=config[_0xb560('0x2')]?config[_0xb560('0x2')][_0xb560('0x3')]():_0xb560('0x4');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':_0xb560('0x5'),'error':_0xb560('0x6'),'warn':_0xb560('0x7'),'info':_0xb560('0x8'),'print':_0xb560('0x9'),'success':'bold\x20green','http':_0xb560('0xa'),'verbose':_0xb560('0xb'),'debug':'bold\x20blue','silly':_0xb560('0xc')};winston[_0xb560('0xd')](XC_LOG_COLORS);function getLogFileName(_0xf08fa2,_0x1847d1,_0x314ae3){var _0x1ab45a=_0xf08fa2||_0xb560('0xe');return path[_0xb560('0xf')](_0x1ab45a,util['format'](_0xb560('0x10'),_0x1847d1,_0x314ae3));}function formatter(_0x1ba8fa,_0x203d1c){_0x203d1c[_0xb560('0x11')]=_0x203d1c[_0xb560('0x11')]['replace'](/@@{/g,_0xb560('0x12'))['replace'](/}@@/g,'}}}')[_0xb560('0x13')](/@{/g,'{{')[_0xb560('0x13')](/}@/g,'}}');return util['format'](_0xb560('0x14'),moment()[_0xb560('0x15')](_0xb560('0x16')),_0x203d1c[_0xb560('0x17')][_0xb560('0x18')](),_0x1ba8fa,_0x203d1c[_0xb560('0x11')]);}function fileFormat(_0x36ef59,_0x382cfc){_0x382cfc[_0xb560('0x11')]=_0x382cfc[_0xb560('0x11')]['replace'](/@@{/g,_0xb560('0x12'))[_0xb560('0x13')](/}@@/g,_0xb560('0x19'))[_0xb560('0x13')](/@{/g,'{{')[_0xb560('0x13')](/}@/g,'}}');var _0xc495b0=_0x382cfc[_0xb560('0x1a')]&&Object[_0xb560('0x1b')](_0x382cfc[_0xb560('0x1a')])[_0xb560('0x1c')]?'\x0a\x09'+JSON['stringify'](_0x382cfc['meta']):'';return util[_0xb560('0x15')]('[%s]\x20[%s]\x20%s\x20-\x20%s\x20%s',moment()[_0xb560('0x15')]('YYYY-MM-DD\x20HH:mm:ss'),_0x382cfc['level'][_0xb560('0x18')](),_0x36ef59,_0x382cfc[_0xb560('0x11')],_0xc495b0);}function consoleLogger(){var _0x430d2b=new winston[(_0xb560('0x1d'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0xb560('0x1e'))][(_0xb560('0x1f'))]({'level':_0xb560('0x20'),'json':![],'formatter':function(_0x34b641){return formatter('',_0x34b641);}})]});return _0x430d2b;}function fileLogger(_0x30e199,_0xaa0bc3){var _0x255597=new winston[(_0xb560('0x1d'))]({'levels':XC_LOG_LEVELS,'transports':[new winston['transports'][(_0xb560('0x21'))]({'name':util['format'](_0xb560('0x22'),_0x30e199,'error'),'filename':getLogFileName(_0xaa0bc3,_0x30e199,'error'),'level':_0xb560('0x23'),'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x563919){return fileFormat(_0x30e199,_0x563919);}}),new winston[(_0xb560('0x1e'))][(_0xb560('0x21'))]({'name':util[_0xb560('0x15')](_0xb560('0x22'),_0x30e199,debugLevel),'filename':getLogFileName(_0xaa0bc3,_0x30e199,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x2d2389){return fileFormat(_0x30e199,_0x2d2389);}}),new winston[(_0xb560('0x1e'))][(_0xb560('0x1f'))]({'level':_0xb560('0x20'),'json':![],'formatter':function(_0x12a1dd){return fileFormat(_0x30e199,_0x12a1dd);}})]});return _0x255597;}exports[_0xb560('0x24')]=consoleLogger;exports['fileLogger']=fileLogger;