(function() { var isProduct = Number(sessionStorage.getItem('sl_console')) === 1 || window.__ENV__.APP_ENV === 'product' || window.__ENV__.APP_ENV === 'preview' var hasSsrDebug = Number(window.Shopline && Shopline.uri && Shopline.uri.query && Shopline.uri.query.ssr_debug) === 1 var debugConsoleFnList = ['log'] var consoleFnNames = Object.keys(console).filter(function(key) {return typeof console[key] === 'function'}) window.__sl_console__ = consoleFnNames.reduce(function (result, fnName) { var hasConsoleFn = debugConsoleFnList.indexOf(fnName) !== -1 result[fnName] = function () { try { var args = Array.prototype.slice.apply(arguments) var prefix = '[SL_' + fnName.toUpperCase() + ']:' if (isProduct) { if (hasConsoleFn && hasSsrDebug) { return console[fnName].apply(null, [prefix].concat(args)) } else if (!hasConsoleFn) { return console[fnName].apply(null, args) } } else if (hasConsoleFn) { return console[fnName].apply(null, [prefix].concat(args)) } else { return console[fnName].apply(null, args) } } catch (e) { console.error(e) } } return result }, {}) })()