/////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Logger /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// var LOGGER = (function() { let LOG_LEVEL = 'info'; function fnDebug() { if (LOG_LEVEL == 'debug') { _log('DEBUG', arguments); } } function fnInfo() { if (LOG_LEVEL == 'debug' || LOG_LEVEL === 'info') { _log('INFO', arguments); } } function fnError() { _log('ERROR', arguments); } function fnSetLevel(level) { LOG_LEVEL = level; } // --------------------------------------- privates ----------------------------------------- // function _log(level, args) { // Prepends log level to things that will be logged args = Array.prototype.slice.call(args); args.unshift(`[${level}]`); // Determine if there's a logger (console.log) available let win = unsafeWindow || window; let console = win.console; if (console && console.log && console.log.apply) { try { console.log.apply(this, args); } catch (e) {} } } // ---------------------------------- expose publics here ------------------------------------ // return { debug: fnDebug, info: fnInfo, error: fnError, setLevel: fnSetLevel }; })();