Skip to content

Instantly share code, notes, and snippets.

@siddhanth
Last active September 12, 2015 05:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save siddhanth/94bf3c99cc307a9da79c to your computer and use it in GitHub Desktop.
Save siddhanth/94bf3c99cc307a9da79c to your computer and use it in GitHub Desktop.
Logging Helper for Cocos2dx-JS
Logger = function() {
this.MODE = {
TRACE: 0,
DEBUG: 1,
INFO: 2,
WARNING: 3,
ERROR: 4
};
this.getLineNumber = function() {
var tempErr = null;
try {
throw Error('')
} catch (err) {
tempErr = err;
}
var stack = tempErr.stack.split("\n")
var maxStackTrace = 4;
var traceInfo = new Array();
for (var i = 2; i < (maxStackTrace + 2) && i < stack.length; i++) {
var caller = stack[i].split("/");
var lineNu = caller[caller.length - 1];
var func = stack[i].split("@")[0];
traceInfo = traceInfo.concat([func + ":" + lineNu]);
}
return traceInfo;
};
this.level = this.MODE.DEBUG;
this.setLevel = function(val) {
loggerObj.level = val;
}
this.DEBUG = "DEBUG::";
this.debug = function() {
if (loggerObj.MODE.DEBUG <= loggerObj.level) {
var args = Array.prototype.slice.call(arguments, 0);
var trace = loggerObj.getLineNumber();
var newArr = [loggerObj.DEBUG];
newArr = newArr.concat(args);
newArr = newArr.concat(trace);
cc.log.apply(null, newArr);
}
};
this.TRACE = "TRACE::";
this.trace = function() {
if (loggerObj.MODE.TRACE <= loggerObj.level) {
var args = Array.prototype.slice.call(arguments, 0);
var trace = loggerObj.getLineNumber();
var newArr = [loggerObj.TRACE];
newArr = newArr.concat(args);
newArr = newArr.concat(trace);
cc.log.apply(null, newArr);
}
};
this.INFO = "INFO::";
this.info = function() {
if (loggerObj.MODE.INFO <= loggerObj.level) {
var args = Array.prototype.slice.call(arguments, 0);
var trace = loggerObj.getLineNumber();
var newArr = [loggerObj.INFO];
newArr = newArr.concat(args);
newArr = newArr.concat(trace);
cc.log.apply(null, newArr);
}
};
this.WARNING = "WARNING::";
this.warning = function() {
if (loggerObj.MODE.WARNING <= loggerObj.level) {
var args = Array.prototype.slice.call(arguments, 0);
var trace = loggerObj.getLineNumber();
var newArr = [loggerObj.WARNING];
newArr = newArr.concat(args);
newArr = newArr.concat(trace);
cc.log.apply(null, newArr);
}
};
this.ERROR = "ERROR::";
this.error = function() {
if (loggerObj.MODE.ERROR <= loggerObj.level) {
var args = Array.prototype.slice.call(arguments, 0);
var trace = loggerObj.getLineNumber();
var newArr = [loggerObj.ERROR];
newArr = newArr.concat(args);
newArr = newArr.concat(trace);
cc.log.apply(null, newArr);
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment