JSFiddle - React, Tailwind, and code Playground
by lookitstony
HTML
<h1> Press F12 and look at the console to see</h1>
JavaScript
var logger = (function (window, console) {
// logger object
function logger() {
// use to initialize the logger
function init() {
fixConsole();
}
// fix missing console
function fixConsole() {
var logmethod;
var noop = function () { };
var logmethods = [
'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
'timeStamp', 'trace', 'warn'
];
var length = logmethods.length;
console = (window.console = window.console || {});
while (length--) {
logmethod = logmethods[length];
// Only stub undefined methods.
if (!console[logmethod]) {
console[logmethod] = noop;
}
}
}
// initializing the logger
init();
}
// logging methods
logger.prototype = {
info: function (msg, title) {
function getErrorObject(){
try { throw Error('') } catch(err) { return err; }
}
var err = getErrorObject();
var caller_line = err.stack.split("\n")[4];
var index = caller_line.indexOf("at ");
var clean = caller_line.slice(index+2, caller_line.length);
var number = clean.match(/(?!:)\d*(?=\:)/g);
console.log(clean);
console.log(number[0]);
if (title)
console.log(title + ": " + msg);
else
console.log(msg);
}
}
// create logger
function _create() {
// create logger
var log = new logger();
// return logger
return log;
}
// exposed functions
return {
...