rewireLoggingToElement( () => document.getElementById("log"), () => document.getElementById("log-container"), true ); function rewireLoggingToElement(eleLocator, eleOverflowLocator, autoScroll) { fixLoggingFunc("log"); function fixLoggingFunc(name) { console.old = console.log; console.log = function (...arg) { const output = produceOutput(name, arg); const eleLog = eleLocator(); if (autoScroll) { const eleContainerLog = eleOverflowLocator(); const isScrolledToBottom = eleContainerLog.scrollHeight - eleContainerLog.clientHeight <= eleContainerLog.scrollTop + 1; eleLog.innerHTML += output + "
"; if (isScrolledToBottom) { eleContainerLog.scrollTop = eleContainerLog.scrollHeight - eleContainerLog.clientHeight; } } else { eleLog.innerHTML += output + "
"; } }; } function produceOutput(name, args) { arg = args[0].replace("%c", ""); return '' + arg + " "; } }