cae376b4856fc975136b28c427b0f82e615813a7
[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 _0xd5df=['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','transports','Console','warn','File','error','%s-%s','consoleLogger','fileLogger','path','util','../config/environment','debugLevel','info','red','bold\x20yellow','bold\x20white','bold\x20green','gray','bold\x20magenta','bold\x20blue','bold\x20cyan','addColors'];(function(_0x18fe19,_0x42829a){var _0x46ddaf=function(_0x331e7d){while(--_0x331e7d){_0x18fe19['push'](_0x18fe19['shift']());}};_0x46ddaf(++_0x42829a);}(_0xd5df,0x15a));var _0xfd5d=function(_0x3306cd,_0x4970db){_0x3306cd=_0x3306cd-0x0;var _0x428c82=_0xd5df[_0x3306cd];return _0x428c82;};'use strict';var path=require(_0xfd5d('0x0'));var util=require(_0xfd5d('0x1'));var moment=require('moment');var winston=require('winston');var config=require(_0xfd5d('0x2'));var debugLevel=config[_0xfd5d('0x3')]?config[_0xfd5d('0x3')]['toLowerCase']():_0xfd5d('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':'redBG\x20white','error':_0xfd5d('0x5'),'warn':_0xfd5d('0x6'),'info':'white','print':_0xfd5d('0x7'),'success':_0xfd5d('0x8'),'http':_0xfd5d('0x9'),'verbose':_0xfd5d('0xa'),'debug':_0xfd5d('0xb'),'silly':_0xfd5d('0xc')};winston[_0xfd5d('0xd')](XC_LOG_COLORS);function getLogFileName(_0x1717d9,_0x562d7f,_0x3e28d7){var _0x3f449b=_0x1717d9||'/var/log/xcally';return path['join'](_0x3f449b,util[_0xfd5d('0xe')]('%s-%s.log',_0x562d7f,_0x3e28d7));}function formatter(_0x11e66e,_0x3860d4){_0x3860d4[_0xfd5d('0xf')]=_0x3860d4[_0xfd5d('0xf')][_0xfd5d('0x10')](/@@{/g,_0xfd5d('0x11'))['replace'](/}@@/g,_0xfd5d('0x12'))[_0xfd5d('0x10')](/@{/g,'{{')[_0xfd5d('0x10')](/}@/g,'}}');return util[_0xfd5d('0xe')](_0xfd5d('0x13'),moment()['format'](_0xfd5d('0x14')),_0x3860d4[_0xfd5d('0x15')]['toUpperCase'](),_0x11e66e,_0x3860d4['message']);}function fileFormat(_0x2e3ed1,_0x21ec05){_0x21ec05[_0xfd5d('0xf')]=_0x21ec05[_0xfd5d('0xf')][_0xfd5d('0x10')](/@@{/g,_0xfd5d('0x11'))[_0xfd5d('0x10')](/}@@/g,'}}}')[_0xfd5d('0x10')](/@{/g,'{{')['replace'](/}@/g,'}}');var _0xbbec57=_0x21ec05[_0xfd5d('0x16')]&&Object[_0xfd5d('0x17')](_0x21ec05['meta'])[_0xfd5d('0x18')]?'\x0a\x09'+JSON['stringify'](_0x21ec05[_0xfd5d('0x16')]):'';return util[_0xfd5d('0xe')](_0xfd5d('0x19'),moment()[_0xfd5d('0xe')](_0xfd5d('0x14')),_0x21ec05[_0xfd5d('0x15')][_0xfd5d('0x1a')](),_0x2e3ed1,_0x21ec05[_0xfd5d('0xf')],_0xbbec57);}function consoleLogger(){var _0x3cdd32=new winston[(_0xfd5d('0x1b'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0xfd5d('0x1c'))][(_0xfd5d('0x1d'))]({'level':_0xfd5d('0x1e'),'json':![],'formatter':function(_0x166af1){return formatter('',_0x166af1);}})]});return _0x3cdd32;}function fileLogger(_0x3a9ecc,_0x5483c7){var _0x16b642=new winston[(_0xfd5d('0x1b'))]({'levels':XC_LOG_LEVELS,'transports':[new winston[(_0xfd5d('0x1c'))][(_0xfd5d('0x1f'))]({'name':util[_0xfd5d('0xe')]('%s-%s',_0x3a9ecc,'error'),'filename':getLogFileName(_0x5483c7,_0x3a9ecc,_0xfd5d('0x20')),'level':'error','json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x5d1cc7){return fileFormat(_0x3a9ecc,_0x5d1cc7);}}),new winston['transports'][(_0xfd5d('0x1f'))]({'name':util['format'](_0xfd5d('0x21'),_0x3a9ecc,debugLevel),'filename':getLogFileName(_0x5483c7,_0x3a9ecc,debugLevel),'level':debugLevel,'json':![],'maxsize':0xa00000,'maxFiles':0xa,'tailable':!![],'formatter':function(_0x144eb3){return fileFormat(_0x3a9ecc,_0x144eb3);}}),new winston[(_0xfd5d('0x1c'))][(_0xfd5d('0x1d'))]({'level':_0xfd5d('0x1e'),'json':![],'formatter':function(_0x37195d){return fileFormat(_0x3a9ecc,_0x37195d);}})]});return _0x16b642;}exports[_0xfd5d('0x22')]=consoleLogger;exports[_0xfd5d('0x23')]=fileLogger;