Skip to content

Instantly share code, notes, and snippets.

@julesfern
Created December 16, 2010 17:26
Show Gist options
  • Save julesfern/743692 to your computer and use it in GitHub Desktop.
Save julesfern/743692 to your computer and use it in GitHub Desktop.
A tiny javascript logger
// Create the logger singleton
window.logger = {
"messages": [],
"debug": function(msg, object) { window.logger.log("debug", msg, object); },
"warn": function(msg, object) { window.logger.log("warn", msg, object); },
"error": function(msg, object) { window.logger.log("error", msg, object); },
"log": function(level, msg, object) {
window.logger.render(level, msg, object)
window.logger.messages.push([level, msg, object]);
},
"render": function(level, msg, object) {
if(window.console != undefined) {
console.log("["+level.toUpperCase()+ "] %s (%o)", msg, object);
}
},
"dump": function(levelOrObject) {
var history = window.logger.messages;
for(i=0; i<history.length; i++)
{
var msg = history[i];
if(!levelOrObject || levelOrObject == msg[0] || levelOrObject == msg[2])
{
window.logger.render(msg[0], msg[1], msg[2]);
}
}
}
};
// Attach the logger to jQuery collection object
jQuery.fn.log = function (msg) {
window.logger.debug(msg, this);
return this;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment