39 lines
1.0 KiB
JavaScript

'use strict';
function intercept(method, handler) {
var console = window.console;
var original = console[method];
console[method] = function () {
handler(method);
// do sneaky stuff
if (original.apply) {
// Do this for normal browsers
original.apply(console, arguments);
} else {
// Do this for IE
var message = Array.prototype.slice.apply(arguments).join(' ');
original(message);
}
};
}
function handleConsoleCall(type) {
var element = document.querySelector('#log_' + type);
if (element) {
if (!element.classList.contains("hasCount")) {
element.classList.add("hasCount");
}
var devTopBar = document.querySelector('#dev-top-bar');
devTopBar.style.display = 'block';
element.innerHTML = parseInt(element.innerHTML) + 1;
}
}
if (window.console) {
var methods = ['error', 'warn'];
for (var i = 0; i < methods.length; i++) {
intercept(methods[i], handleConsoleCall);
}
}