stumpy
Version:
The Kickass Logger
113 lines (94 loc) • 3.1 kB
HTML
<html>
<script src="sprintf.min.js"></script>
<script src="moment.min.js"></script>
<script src="../../lib/stumpy.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<pre id="stumpy">-- Stumpy - Logs --
</pre>
<pre id="stumpy-removed">-- Stumpy - Removed from Buffer --
</pre>
<script>
var stumpy = Stumpy("Custom Handlers", {
display: true,
formatFunc: function(log, options) {
var out = [];
var a = 0;
// add time
var td = moment().format('YYYY-MM-DD HH:mm:ssZ');
// if first arg is string add time to it to support % replacement
if(typeof log.args[0] === "string") {
out.push( "["+td+"] "+options.name+" - " + log.args[0] );
a++;
} else {
out.push("["+td+"] "+options.name+" - ");
}
// add args
for(; a < log.args.length; a++) {
// if show time, and first item
out.push( log.args[a] );
}
return out;
},
buffer: {
size: 8,
showTrace: true,
formatFunc: function(log) {
var out = [];
var a = 0;
// add time
var td = moment(log.date).format('h:mm:ss a');
// if first arg is string add time to it to support % replacement
if(typeof log.args[0] === "string") {
out.push( td + " - " + log.args[0] );
a++;
} else {
out.push(td + " - ");
}
// add args
for(; a < log.args.length; a++) {
// if show time, and first item
out.push( log.args[a] );
}
// show trace
if(log.trace) {
out.push("-> " + log.trace );
}
return out;
}
},
onHandlers: {
addLog: function (logStr, logObj) {
$('#stumpy').append(logStr + '\n');
},
delLog: function (logStr, logObj) {
$('#stumpy-removed').append(logStr + '\n');
},
addBuffer: function (logStr, logObj) {
console.log("addBuffer:", logObj);
},
delBuffer: function (logStr, logObj) {
console.log("delBuffer:", logObj);
}
}
});
console.log("----------------------------------------------------------");
console.log("-- Stumpy - Custom Handlers --");
console.log("----------------------------------------------------------");
stumpy.log("test");
stumpy.info("test: %s", "string");
stumpy.warn("test: %d", 123);
stumpy.error("test error: %d", 123);
stumpy.trace("test trace: %s", "string");
stumpy.log("before group");
stumpy.group();
stumpy.log("test group log", "Group", 1);
stumpy.warn("test group warn", { obj: "Group1" } );
stumpy.error("test group error: %d", 123);
stumpy.group("test group 2");
stumpy.log("test", "Group", 2);
stumpy.warn("test", { obj: "Group2" } );
stumpy.groupEnd();
stumpy.groupEnd();
stumpy.log( { after: "group", a: [1,2,3,4,5,6,7,8,9,0] } );
</script>
</html>