134f07ccb997bf8d958194f5fdcbb34cfa073718
[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 _0x483a=['bold\x20green','gray','bold\x20cyan','/var/log/xcally','%s-%s.log','message','replace','{{{','}}}','format','YYYY-MM-DD\x20HH:mm:ss','level','toUpperCase','keys','length','stringify','meta','[%s]\x20[%s]\x20%s\x20-\x20%s\x20%s','Logger','Console','File','%s-%s','error','transports','warn','consoleLogger','fileLogger','path','winston','debugLevel','toLowerCase','info','redBG\x20white','red','bold\x20yellow','white'];(function(_0x2f1762,_0xab43df){var _0x8ab21=function(_0xf6c1f5){while(--_0xf6c1f5){_0x2f1762['push'](_0x2f1762['shift']());}};_0x8ab21(++_0xab43df);}(_0x483a,0xcf));var _0xa483=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x483a[_0x3dd15e];return _0x231fd0;};'use strict';var path=require(_0xa483('0x0'));var util=require('util');var moment=require('moment');var winston=require(_0xa483('0x1'));var config=require('../config/environment');var debugLevel=config[_0xa483('0x2')]?config[_0xa483('0x2')][_0xa483('0x3')]():_0xa483('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':_0xa483('0x5'),'error':_0xa483('0x6'),'warn':_0xa483('0x7'),'info':_0xa483('0x8'),'print':'bold\x20white','success':_0xa483('0x9'),'http':_0xa483('0xa'),'verbose':'bold\x20magenta','debug':'bold\x20blue','silly':_0xa483('0xb')};winston['addColors'](XC_LOG_COLORS);function getLogFileName(_0x5d55ab,_0x4b2218,_0x5e053a){var _0x343acb=_0x5d55ab||_0xa483('0xc');return path['join'](_0x343acb,util['format'](_0xa483('0xd'),_0x4b2218,_0x5e053a));}function formatter(_0x5145ae,_0x464a3a){_0x464a3a[_0xa483('0xe')]=_0x464a3a[_0xa483('0xe')][_0xa483('0xf')](/@@{/g,_0xa483('0x10'))[_0xa483('0xf')](/}@@/g,_0xa483('0x11'))[_0xa483('0xf')](/@{/g,'{{')[_0xa483('0xf')](/}@/g,'}}');return util['format']('[%s]\x20[%s]\x20%s\x20-\x20%s',moment()[_0xa483('0x12')](_0xa483('0x13')),_0x464a3a[_0xa483('0x14')][_0xa483('0x15')](),_0x5145ae,_0x464a3a[_0xa483('0xe')]);}function fileFormat(_0x1330a4,_0x587016){_0x587016[_0xa483('0xe')]=_0x587016['message'][_0xa483('0xf')](/@@{/g,_0xa483('0x10'))[_0xa483('0xf')](/}@@/g,_0xa483('0x11'))[_0xa483('0xf')](/@{/g,'{{')['replace'](/}@/g,'}}');var _0x2cd0e3=_0x587016['meta']&&Object[_0xa483('0x16')](_0x587016['meta'])[_0xa483('0x17')]?'\x0a\x09'+JSON[_0xa483('0x18')](_0x587016[_0xa483('0x19')]):'';return util[_0xa483('0x12')](_0xa483('0x1a'),moment()['format'](_0xa483('0x13')),_0x587016[_0xa483('0x14')]['toUpperCase'](),_0x1330a4,_0x587016[_0xa483('0xe')],_0x2cd0e3);}function consoleLogger(){var _0x18de98=new winston[(_0xa483('0x1b'))]({'levels':XC_LOG_LEVELS,'transports':[new winston['transports'][(_0xa483('0x1c'))]({'level':'warn','json':![],'formatter':function(_0x51b80c){return formatter('',_0x51b80c);}})]});return _0x18de98;}function fileLogger(_0x443f6f,_0x52e1cf){var _0x28b90e=new winston[(_0xa483('0x1b'))]({'levels':XC_LOG_LEVELS,'transports':[new winston['transports'][(_0xa483('0x1d'))]({'name':util[_0xa483('0x12')](_0xa483('0x1e'),_0x443f6f,_0xa483('0x1f')),'filename':getLogFileName(_0x52e1cf,_0x443f6f,'error'),'level':_0xa483('0x1f'),'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x573087){return fileFormat(_0x443f6f,_0x573087);}}),new winston['transports'][(_0xa483('0x1d'))]({'name':util[_0xa483('0x12')]('%s-%s',_0x443f6f,debugLevel),'filename':getLogFileName(_0x52e1cf,_0x443f6f,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x183167){return fileFormat(_0x443f6f,_0x183167);}}),new winston[(_0xa483('0x20'))]['Console']({'level':_0xa483('0x21'),'json':![],'formatter':function(_0x3b1ff7){return fileFormat(_0x443f6f,_0x3b1ff7);}})]});return _0x28b90e;}exports[_0xa483('0x22')]=consoleLogger;exports[_0xa483('0x23')]=fileLogger;